`ifndef UDLY
`define UDLY 1
`endif
module fft__7(
  fft_cfg__start,
  sram__0__valid,
  sram__0__ready,
  sram__0__we_n,
  sram__0__addr,
  sram__0__wdata,
  sram__0__rdata,
  instr_sram__valid,
  instr_sram__ready,
  instr_sram__we_n,
  instr_sram__addr,
  instr_sram__wdata,
  instr_sram__rdata,
  exp_sram__valid,
  exp_sram__ready,
  exp_sram__we_n,
  exp_sram__addr,
  exp_sram__wdata,
  exp_sram__rdata,
  clk,
  rstn
);
//parameter declare
//port declare
input fft_cfg__start;
output sram__0__valid;
input sram__0__ready;
output sram__0__we_n;
output [31:0] sram__0__addr;
output [63:0] sram__0__wdata;
input [63:0] sram__0__rdata;
output instr_sram__valid;
input instr_sram__ready;
output instr_sram__we_n;
output [31:0] instr_sram__addr;
output [15:0] instr_sram__wdata;
input [15:0] instr_sram__rdata;
output exp_sram__valid;
input exp_sram__ready;
output exp_sram__we_n;
output [31:0] exp_sram__addr;
output [63:0] exp_sram__wdata;
input [63:0] exp_sram__rdata;
input clk;
input rstn;
//channel declare
//wire declare
logic __t_51;
logic __t_52;
logic __t_53;
logic [31:0] __t_54;
logic [31:0] __t_55;
logic __rd_valid_57;
logic __rd_ready_58;
logic __rd_grant_59;
logic [31:0] __rd_even_addr_60;
logic [31:0] __rd_odd_addr_62;
logic [63:0] __rd_odd_data_63;
logic __wr_valid_64;
logic __wr_ready_65;
logic __wr_grant_66;
logic [31:0] __wr_even_addr_67;
logic [63:0] __wr_add_data_68;
logic [31:0] __wr_odd_addr_69;
logic __fft_end_72;
logic __fetch_instr_enable_73;
logic __fft_calc_grant_79;
logic [3:0] __op_code_90;
logic [1:0] __cell_num_91;
logic [9:0] __immed_92;
logic __set_addr_93;
logic __get_exp_94;
logic __fft_calc_95;
logic __calc_end_96;
logic __set_space_addr_97;
logic __set_step_addr_98;
logic __pip_en_119;
logic __pip_en_120;
logic __pip_en_121;
logic __pip_en_122;
logic __sram_valid_123;
logic __sram_ready_124;
logic __we_n_125;
logic [31:0] __waddr_126;
logic [63:0] __wdata_127;
logic [63:0] __rdata_128;
logic __rd_even_data_ready_141;
logic __rd_odd_data_ready_142;
logic __wr_add_data_ready_143;
logic __wr_sub_data_ready_144;
logic [63:0] __out_add_151;
logic [63:0] __out_sub_152;
logic [63:0] __t_153;
logic [63:0] __e_154;
logic [31:0] __m_1_real_155;
logic [31:0] __m_2_real_156;
logic [31:0] __m_1_imag_157;
logic [31:0] __m_2_imag_158;
logic [31:0] __prod_real_159;
logic [31:0] __prod_imag_160;
logic [31:0] __real_x_real_161;
logic [31:0] __real_x_imag_162;
logic [31:0] __imag_x_real_163;
logic [31:0] __imag_x_imag_164;
logic __overflow_1_166;
logic __overflow_2_167;
logic __overflow_3_168;
logic __overflow_4_169;
logic __result_sign_170;
logic [8:0] __result_exp_171;
logic [8:0] __exp_add1_172;
logic [47:0] __result_factor_173;
logic [22:0] __valid_factor_norm_174;
logic [22:0] __valid_factor_shift_175;
logic __result_sign_177;
logic [8:0] __result_exp_178;
logic [8:0] __exp_add1_179;
logic [47:0] __result_factor_180;
logic [22:0] __valid_factor_norm_181;
logic [22:0] __valid_factor_shift_182;
logic __result_sign_184;
logic [8:0] __result_exp_185;
logic [8:0] __exp_add1_186;
logic [47:0] __result_factor_187;
logic [22:0] __valid_factor_norm_188;
logic [22:0] __valid_factor_shift_189;
logic __result_sign_191;
logic [8:0] __result_exp_192;
logic [8:0] __exp_add1_193;
logic [47:0] __result_factor_194;
logic [22:0] __valid_factor_norm_195;
logic [22:0] __valid_factor_shift_196;
logic [31:0] __neg_imag_x_imag_198;
logic [31:0] __result_199;
logic __sign_201;
logic [7:0] __expn_202;
logic [7:0] __expn_d_203;
logic [23:0] __mant_204;
logic [26:0] __mant_sft_205;
logic [26:0] __mant_sgn_206;
logic __sign_207;
logic [7:0] __expn_208;
logic [7:0] __expn_d_209;
logic [23:0] __mant_210;
logic [26:0] __mant_sft_211;
logic [26:0] __mant_sgn_212;
logic [1:0] __norms_213;
logic [7:0] __expn_aln_214;
logic [7:0] __shift_num_215;
logic __cond_216;
logic __cond_217;
logic __cond_218;
logic __cond_219;
logic __cond_220;
logic __cond_221;
logic __cond_222;
logic __cond_223;
logic __cond_224;
logic __cond_225;
logic __cond_226;
logic __cond_227;
logic __cond_228;
logic __cond_229;
logic __cond_230;
logic __cond_231;
logic __cond_232;
logic __cond_233;
logic __cond_234;
logic __cond_235;
logic __cond_236;
logic __cond_237;
logic __cond_238;
logic __cond_239;
logic [7:0] __shift_num_240;
logic __cond_241;
logic __cond_242;
logic __cond_243;
logic __cond_244;
logic __cond_245;
logic __cond_246;
logic __cond_247;
logic __cond_248;
logic __cond_249;
logic __cond_250;
logic __cond_251;
logic __cond_252;
logic __cond_253;
logic __cond_254;
logic __cond_255;
logic __cond_256;
logic __cond_257;
logic __cond_258;
logic __cond_259;
logic __cond_260;
logic __cond_261;
logic __cond_262;
logic __cond_263;
logic __cond_264;
logic [8:0] __expn_dif_265;
logic [7:0] __expn_10r_266;
logic [26:0] __mant_10_267;
logic [25:0] __mant_10_abs_268;
logic [48:0] __mant_padded_269;
logic [4:0] __lead_zeros_270;
logic __all_zero_271;
logic [9:0] __expn_sft_272;
logic __sum_sign_273;
logic [7:0] __sum_expn_274;
logic [22:0] __sum_mant_275;
logic __cond_276;
logic __cond_277;
logic __cond_278;
logic __cond_279;
logic __cond_280;
logic __cond_281;
logic __cond_282;
logic __cond_283;
logic __cond_284;
logic __cond_285;
logic __cond_286;
logic __cond_287;
logic __cond_288;
logic __cond_289;
logic __cond_290;
logic __cond_291;
logic __cond_292;
logic __cond_293;
logic __cond_294;
logic __cond_295;
logic __cond_296;
logic __cond_297;
logic __cond_298;
logic __cond_299;
logic __cond_300;
logic __cond_301;
logic [31:0] __result_302;
logic __sign_304;
logic [7:0] __expn_305;
logic [7:0] __expn_d_306;
logic [23:0] __mant_307;
logic [26:0] __mant_sft_308;
logic [26:0] __mant_sgn_309;
logic __sign_310;
logic [7:0] __expn_311;
logic [7:0] __expn_d_312;
logic [23:0] __mant_313;
logic [26:0] __mant_sft_314;
logic [26:0] __mant_sgn_315;
logic [1:0] __norms_316;
logic [7:0] __expn_aln_317;
logic [7:0] __shift_num_318;
logic __cond_319;
logic __cond_320;
logic __cond_321;
logic __cond_322;
logic __cond_323;
logic __cond_324;
logic __cond_325;
logic __cond_326;
logic __cond_327;
logic __cond_328;
logic __cond_329;
logic __cond_330;
logic __cond_331;
logic __cond_332;
logic __cond_333;
logic __cond_334;
logic __cond_335;
logic __cond_336;
logic __cond_337;
logic __cond_338;
logic __cond_339;
logic __cond_340;
logic __cond_341;
logic __cond_342;
logic [7:0] __shift_num_343;
logic __cond_344;
logic __cond_345;
logic __cond_346;
logic __cond_347;
logic __cond_348;
logic __cond_349;
logic __cond_350;
logic __cond_351;
logic __cond_352;
logic __cond_353;
logic __cond_354;
logic __cond_355;
logic __cond_356;
logic __cond_357;
logic __cond_358;
logic __cond_359;
logic __cond_360;
logic __cond_361;
logic __cond_362;
logic __cond_363;
logic __cond_364;
logic __cond_365;
logic __cond_366;
logic __cond_367;
logic [8:0] __expn_dif_368;
logic [7:0] __expn_10r_369;
logic [26:0] __mant_10_370;
logic [25:0] __mant_10_abs_371;
logic [48:0] __mant_padded_372;
logic [4:0] __lead_zeros_373;
logic __all_zero_374;
logic [9:0] __expn_sft_375;
logic __sum_sign_376;
logic [7:0] __sum_expn_377;
logic [22:0] __sum_mant_378;
logic __cond_379;
logic __cond_380;
logic __cond_381;
logic __cond_382;
logic __cond_383;
logic __cond_384;
logic __cond_385;
logic __cond_386;
logic __cond_387;
logic __cond_388;
logic __cond_389;
logic __cond_390;
logic __cond_391;
logic __cond_392;
logic __cond_393;
logic __cond_394;
logic __cond_395;
logic __cond_396;
logic __cond_397;
logic __cond_398;
logic __cond_399;
logic __cond_400;
logic __cond_401;
logic __cond_402;
logic __cond_403;
logic __cond_404;
logic [63:0] __neg_e_405;
logic [31:0] __a_1_real_406;
logic [31:0] __a_1_imag_407;
logic [31:0] __a_2_real_408;
logic [31:0] __a_2_imag_409;
logic [31:0] __sum_real_410;
logic [31:0] __sum_imag_411;
logic [31:0] __result_413;
logic __sign_415;
logic [7:0] __expn_416;
logic [7:0] __expn_d_417;
logic [23:0] __mant_418;
logic [26:0] __mant_sft_419;
logic [26:0] __mant_sgn_420;
logic __sign_421;
logic [7:0] __expn_422;
logic [7:0] __expn_d_423;
logic [23:0] __mant_424;
logic [26:0] __mant_sft_425;
logic [26:0] __mant_sgn_426;
logic [1:0] __norms_427;
logic [7:0] __expn_aln_428;
logic [7:0] __shift_num_429;
logic __cond_430;
logic __cond_431;
logic __cond_432;
logic __cond_433;
logic __cond_434;
logic __cond_435;
logic __cond_436;
logic __cond_437;
logic __cond_438;
logic __cond_439;
logic __cond_440;
logic __cond_441;
logic __cond_442;
logic __cond_443;
logic __cond_444;
logic __cond_445;
logic __cond_446;
logic __cond_447;
logic __cond_448;
logic __cond_449;
logic __cond_450;
logic __cond_451;
logic __cond_452;
logic __cond_453;
logic [7:0] __shift_num_454;
logic __cond_455;
logic __cond_456;
logic __cond_457;
logic __cond_458;
logic __cond_459;
logic __cond_460;
logic __cond_461;
logic __cond_462;
logic __cond_463;
logic __cond_464;
logic __cond_465;
logic __cond_466;
logic __cond_467;
logic __cond_468;
logic __cond_469;
logic __cond_470;
logic __cond_471;
logic __cond_472;
logic __cond_473;
logic __cond_474;
logic __cond_475;
logic __cond_476;
logic __cond_477;
logic __cond_478;
logic [8:0] __expn_dif_479;
logic [7:0] __expn_10r_480;
logic [26:0] __mant_10_481;
logic [25:0] __mant_10_abs_482;
logic [48:0] __mant_padded_483;
logic [4:0] __lead_zeros_484;
logic __all_zero_485;
logic [9:0] __expn_sft_486;
logic __sum_sign_487;
logic [7:0] __sum_expn_488;
logic [22:0] __sum_mant_489;
logic __cond_490;
logic __cond_491;
logic __cond_492;
logic __cond_493;
logic __cond_494;
logic __cond_495;
logic __cond_496;
logic __cond_497;
logic __cond_498;
logic __cond_499;
logic __cond_500;
logic __cond_501;
logic __cond_502;
logic __cond_503;
logic __cond_504;
logic __cond_505;
logic __cond_506;
logic __cond_507;
logic __cond_508;
logic __cond_509;
logic __cond_510;
logic __cond_511;
logic __cond_512;
logic __cond_513;
logic __cond_514;
logic __cond_515;
logic [31:0] __result_516;
logic __sign_518;
logic [7:0] __expn_519;
logic [7:0] __expn_d_520;
logic [23:0] __mant_521;
logic [26:0] __mant_sft_522;
logic [26:0] __mant_sgn_523;
logic __sign_524;
logic [7:0] __expn_525;
logic [7:0] __expn_d_526;
logic [23:0] __mant_527;
logic [26:0] __mant_sft_528;
logic [26:0] __mant_sgn_529;
logic [1:0] __norms_530;
logic [7:0] __expn_aln_531;
logic [7:0] __shift_num_532;
logic __cond_533;
logic __cond_534;
logic __cond_535;
logic __cond_536;
logic __cond_537;
logic __cond_538;
logic __cond_539;
logic __cond_540;
logic __cond_541;
logic __cond_542;
logic __cond_543;
logic __cond_544;
logic __cond_545;
logic __cond_546;
logic __cond_547;
logic __cond_548;
logic __cond_549;
logic __cond_550;
logic __cond_551;
logic __cond_552;
logic __cond_553;
logic __cond_554;
logic __cond_555;
logic __cond_556;
logic [7:0] __shift_num_557;
logic __cond_558;
logic __cond_559;
logic __cond_560;
logic __cond_561;
logic __cond_562;
logic __cond_563;
logic __cond_564;
logic __cond_565;
logic __cond_566;
logic __cond_567;
logic __cond_568;
logic __cond_569;
logic __cond_570;
logic __cond_571;
logic __cond_572;
logic __cond_573;
logic __cond_574;
logic __cond_575;
logic __cond_576;
logic __cond_577;
logic __cond_578;
logic __cond_579;
logic __cond_580;
logic __cond_581;
logic [8:0] __expn_dif_582;
logic [7:0] __expn_10r_583;
logic [26:0] __mant_10_584;
logic [25:0] __mant_10_abs_585;
logic [48:0] __mant_padded_586;
logic [4:0] __lead_zeros_587;
logic __all_zero_588;
logic [9:0] __expn_sft_589;
logic __sum_sign_590;
logic [7:0] __sum_expn_591;
logic [22:0] __sum_mant_592;
logic __cond_593;
logic __cond_594;
logic __cond_595;
logic __cond_596;
logic __cond_597;
logic __cond_598;
logic __cond_599;
logic __cond_600;
logic __cond_601;
logic __cond_602;
logic __cond_603;
logic __cond_604;
logic __cond_605;
logic __cond_606;
logic __cond_607;
logic __cond_608;
logic __cond_609;
logic __cond_610;
logic __cond_611;
logic __cond_612;
logic __cond_613;
logic __cond_614;
logic __cond_615;
logic __cond_616;
logic __cond_617;
logic __cond_618;
logic [31:0] __a_1_real_619;
logic [31:0] __a_1_imag_620;
logic [31:0] __a_2_real_621;
logic [31:0] __a_2_imag_622;
logic [31:0] __sum_real_623;
logic [31:0] __sum_imag_624;
logic [31:0] __result_626;
logic __sign_628;
logic [7:0] __expn_629;
logic [7:0] __expn_d_630;
logic [23:0] __mant_631;
logic [26:0] __mant_sft_632;
logic [26:0] __mant_sgn_633;
logic __sign_634;
logic [7:0] __expn_635;
logic [7:0] __expn_d_636;
logic [23:0] __mant_637;
logic [26:0] __mant_sft_638;
logic [26:0] __mant_sgn_639;
logic [1:0] __norms_640;
logic [7:0] __expn_aln_641;
logic [7:0] __shift_num_642;
logic __cond_643;
logic __cond_644;
logic __cond_645;
logic __cond_646;
logic __cond_647;
logic __cond_648;
logic __cond_649;
logic __cond_650;
logic __cond_651;
logic __cond_652;
logic __cond_653;
logic __cond_654;
logic __cond_655;
logic __cond_656;
logic __cond_657;
logic __cond_658;
logic __cond_659;
logic __cond_660;
logic __cond_661;
logic __cond_662;
logic __cond_663;
logic __cond_664;
logic __cond_665;
logic __cond_666;
logic [7:0] __shift_num_667;
logic __cond_668;
logic __cond_669;
logic __cond_670;
logic __cond_671;
logic __cond_672;
logic __cond_673;
logic __cond_674;
logic __cond_675;
logic __cond_676;
logic __cond_677;
logic __cond_678;
logic __cond_679;
logic __cond_680;
logic __cond_681;
logic __cond_682;
logic __cond_683;
logic __cond_684;
logic __cond_685;
logic __cond_686;
logic __cond_687;
logic __cond_688;
logic __cond_689;
logic __cond_690;
logic __cond_691;
logic [8:0] __expn_dif_692;
logic [7:0] __expn_10r_693;
logic [26:0] __mant_10_694;
logic [25:0] __mant_10_abs_695;
logic [48:0] __mant_padded_696;
logic [4:0] __lead_zeros_697;
logic __all_zero_698;
logic [9:0] __expn_sft_699;
logic __sum_sign_700;
logic [7:0] __sum_expn_701;
logic [22:0] __sum_mant_702;
logic __cond_703;
logic __cond_704;
logic __cond_705;
logic __cond_706;
logic __cond_707;
logic __cond_708;
logic __cond_709;
logic __cond_710;
logic __cond_711;
logic __cond_712;
logic __cond_713;
logic __cond_714;
logic __cond_715;
logic __cond_716;
logic __cond_717;
logic __cond_718;
logic __cond_719;
logic __cond_720;
logic __cond_721;
logic __cond_722;
logic __cond_723;
logic __cond_724;
logic __cond_725;
logic __cond_726;
logic __cond_727;
logic __cond_728;
logic [31:0] __result_729;
logic __sign_731;
logic [7:0] __expn_732;
logic [7:0] __expn_d_733;
logic [23:0] __mant_734;
logic [26:0] __mant_sft_735;
logic [26:0] __mant_sgn_736;
logic __sign_737;
logic [7:0] __expn_738;
logic [7:0] __expn_d_739;
logic [23:0] __mant_740;
logic [26:0] __mant_sft_741;
logic [26:0] __mant_sgn_742;
logic [1:0] __norms_743;
logic [7:0] __expn_aln_744;
logic [7:0] __shift_num_745;
logic __cond_746;
logic __cond_747;
logic __cond_748;
logic __cond_749;
logic __cond_750;
logic __cond_751;
logic __cond_752;
logic __cond_753;
logic __cond_754;
logic __cond_755;
logic __cond_756;
logic __cond_757;
logic __cond_758;
logic __cond_759;
logic __cond_760;
logic __cond_761;
logic __cond_762;
logic __cond_763;
logic __cond_764;
logic __cond_765;
logic __cond_766;
logic __cond_767;
logic __cond_768;
logic __cond_769;
logic [7:0] __shift_num_770;
logic __cond_771;
logic __cond_772;
logic __cond_773;
logic __cond_774;
logic __cond_775;
logic __cond_776;
logic __cond_777;
logic __cond_778;
logic __cond_779;
logic __cond_780;
logic __cond_781;
logic __cond_782;
logic __cond_783;
logic __cond_784;
logic __cond_785;
logic __cond_786;
logic __cond_787;
logic __cond_788;
logic __cond_789;
logic __cond_790;
logic __cond_791;
logic __cond_792;
logic __cond_793;
logic __cond_794;
logic [8:0] __expn_dif_795;
logic [7:0] __expn_10r_796;
logic [26:0] __mant_10_797;
logic [25:0] __mant_10_abs_798;
logic [48:0] __mant_padded_799;
logic [4:0] __lead_zeros_800;
logic __all_zero_801;
logic [9:0] __expn_sft_802;
logic __sum_sign_803;
logic [7:0] __sum_expn_804;
logic [22:0] __sum_mant_805;
logic __cond_806;
logic __cond_807;
logic __cond_808;
logic __cond_809;
logic __cond_810;
logic __cond_811;
logic __cond_812;
logic __cond_813;
logic __cond_814;
logic __cond_815;
logic __cond_816;
logic __cond_817;
logic __cond_818;
logic __cond_819;
logic __cond_820;
logic __cond_821;
logic __cond_822;
logic __cond_823;
logic __cond_824;
logic __cond_825;
logic __cond_826;
logic __cond_827;
logic __cond_828;
logic __cond_829;
logic __cond_830;
logic __cond_831;
//port wire declare
wire fft_cfg__start;
logic sram__0__valid;
wire sram__0__ready;
logic sram__0__we_n;
logic [31:0] sram__0__addr;
logic [63:0] sram__0__wdata;
wire [63:0] sram__0__rdata;
logic instr_sram__valid;
wire instr_sram__ready;
logic instr_sram__we_n;
logic [31:0] instr_sram__addr;
logic [15:0] instr_sram__wdata;
wire [15:0] instr_sram__rdata;
logic exp_sram__valid;
wire exp_sram__ready;
logic exp_sram__we_n;
logic [31:0] exp_sram__addr;
logic [63:0] exp_sram__wdata;
wire [63:0] exp_sram__rdata;
wire clk;
wire rstn;
//register declare
//register init and update
reg [63:0] __r_56;
wire [63:0] ___r_56;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __r_56 <= #`UDLY 64'h0;
  end
  else begin
    __r_56 <= #`UDLY ___r_56;
  end
end

reg [63:0] __rd_even_data_61;
wire [63:0] ___rd_even_data_61;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __rd_even_data_61 <= #`UDLY 64'h0;
  end
  else begin
    __rd_even_data_61 <= #`UDLY ___rd_even_data_61;
  end
end

reg [63:0] __wr_sub_data_70;
wire [63:0] ___wr_sub_data_70;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __wr_sub_data_70 <= #`UDLY 64'h0;
  end
  else begin
    __wr_sub_data_70 <= #`UDLY ___wr_sub_data_70;
  end
end

reg [63:0] __exp_data_71;
logic [63:0] ___exp_data_71;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_data_71 <= #`UDLY 64'h0;
  end
  else begin
    __exp_data_71 <= #`UDLY ___exp_data_71;
  end
end

reg [31:0] __instr_addr_74;
wire [31:0] ___instr_addr_74;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_addr_74 <= #`UDLY 32'h0;
  end
  else begin
    __instr_addr_74 <= #`UDLY ___instr_addr_74;
  end
end

reg __instr_ready_75;
wire ___instr_ready_75;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_75 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_75 <= #`UDLY ___instr_ready_75;
  end
end

reg [15:0] __instr_data_76;
wire [15:0] ___instr_data_76;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_data_76 <= #`UDLY 16'h0;
  end
  else begin
    __instr_data_76 <= #`UDLY ___instr_data_76;
  end
end

reg __instr_ready_77;
wire ___instr_ready_77;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_ready_77 <= #`UDLY 1'h0;
  end
  else begin
    __instr_ready_77 <= #`UDLY ___instr_ready_77;
  end
end

reg __fft_run_78;
wire ___fft_run_78;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __fft_run_78 <= #`UDLY 1'h0;
  end
  else begin
    __fft_run_78 <= #`UDLY ___fft_run_78;
  end
end

reg __decode_valid_80;
wire ___decode_valid_80;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_valid_80 <= #`UDLY 1'h0;
  end
  else begin
    __decode_valid_80 <= #`UDLY ___decode_valid_80;
  end
end

reg [31:0] __decode_even_addr_81;
wire [31:0] ___decode_even_addr_81;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_even_addr_81 <= #`UDLY 32'h0;
  end
  else begin
    __decode_even_addr_81 <= #`UDLY ___decode_even_addr_81;
  end
end

reg [31:0] __decode_odd_addr_82;
wire [31:0] ___decode_odd_addr_82;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_odd_addr_82 <= #`UDLY 32'h0;
  end
  else begin
    __decode_odd_addr_82 <= #`UDLY ___decode_odd_addr_82;
  end
end

reg __get_exp_valid_83;
wire ___get_exp_valid_83;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_83 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_83 <= #`UDLY ___get_exp_valid_83;
  end
end

reg __get_exp_valid_84;
wire ___get_exp_valid_84;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __get_exp_valid_84 <= #`UDLY 1'h0;
  end
  else begin
    __get_exp_valid_84 <= #`UDLY ___get_exp_valid_84;
  end
end

reg [31:0] __space_base_addr_85;
wire [31:0] ___space_base_addr_85;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __space_base_addr_85 <= #`UDLY 32'h0;
  end
  else begin
    __space_base_addr_85 <= #`UDLY ___space_base_addr_85;
  end
end

reg [31:0] __step_addr_86;
wire [31:0] ___step_addr_86;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __step_addr_86 <= #`UDLY 32'h0;
  end
  else begin
    __step_addr_86 <= #`UDLY ___step_addr_86;
  end
end

reg [15:0] __instr_87;
wire [15:0] ___instr_87;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_87 <= #`UDLY 16'h0;
  end
  else begin
    __instr_87 <= #`UDLY ___instr_87;
  end
end

reg __instr_valid_88;
wire ___instr_valid_88;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __instr_valid_88 <= #`UDLY 1'h0;
  end
  else begin
    __instr_valid_88 <= #`UDLY ___instr_valid_88;
  end
end

reg __decode_grant_89;
wire ___decode_grant_89;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __decode_grant_89 <= #`UDLY 1'h0;
  end
  else begin
    __decode_grant_89 <= #`UDLY ___decode_grant_89;
  end
end

reg __ctrl_valid_99;
wire ___ctrl_valid_99;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_99 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_99 <= #`UDLY ___ctrl_valid_99;
  end
end

reg [31:0] __ctrl_even_addr_100;
wire [31:0] ___ctrl_even_addr_100;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_100 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_100 <= #`UDLY ___ctrl_even_addr_100;
  end
end

reg [31:0] __ctrl_odd_addr_101;
wire [31:0] ___ctrl_odd_addr_101;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_101 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_101 <= #`UDLY ___ctrl_odd_addr_101;
  end
end

reg __ctrl_en_102;
wire ___ctrl_en_102;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_102 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_102 <= #`UDLY ___ctrl_en_102;
  end
end

reg __ctrl_valid_103;
wire ___ctrl_valid_103;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_103 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_103 <= #`UDLY ___ctrl_valid_103;
  end
end

reg [31:0] __ctrl_even_addr_104;
wire [31:0] ___ctrl_even_addr_104;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_104 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_104 <= #`UDLY ___ctrl_even_addr_104;
  end
end

reg [31:0] __ctrl_odd_addr_105;
wire [31:0] ___ctrl_odd_addr_105;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_105 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_105 <= #`UDLY ___ctrl_odd_addr_105;
  end
end

reg __ctrl_en_106;
wire ___ctrl_en_106;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_106 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_106 <= #`UDLY ___ctrl_en_106;
  end
end

reg __ctrl_valid_107;
wire ___ctrl_valid_107;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_107 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_107 <= #`UDLY ___ctrl_valid_107;
  end
end

reg [31:0] __ctrl_even_addr_108;
wire [31:0] ___ctrl_even_addr_108;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_108 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_108 <= #`UDLY ___ctrl_even_addr_108;
  end
end

reg [31:0] __ctrl_odd_addr_109;
wire [31:0] ___ctrl_odd_addr_109;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_109 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_109 <= #`UDLY ___ctrl_odd_addr_109;
  end
end

reg __ctrl_en_110;
wire ___ctrl_en_110;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_110 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_110 <= #`UDLY ___ctrl_en_110;
  end
end

reg __ctrl_valid_111;
wire ___ctrl_valid_111;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_111 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_111 <= #`UDLY ___ctrl_valid_111;
  end
end

reg [31:0] __ctrl_even_addr_112;
wire [31:0] ___ctrl_even_addr_112;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_112 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_112 <= #`UDLY ___ctrl_even_addr_112;
  end
end

reg [31:0] __ctrl_odd_addr_113;
wire [31:0] ___ctrl_odd_addr_113;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_113 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_113 <= #`UDLY ___ctrl_odd_addr_113;
  end
end

reg __ctrl_en_114;
wire ___ctrl_en_114;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_114 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_114 <= #`UDLY ___ctrl_en_114;
  end
end

reg __ctrl_valid_115;
wire ___ctrl_valid_115;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_valid_115 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_valid_115 <= #`UDLY ___ctrl_valid_115;
  end
end

reg [31:0] __ctrl_even_addr_116;
wire [31:0] ___ctrl_even_addr_116;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_even_addr_116 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_even_addr_116 <= #`UDLY ___ctrl_even_addr_116;
  end
end

reg [31:0] __ctrl_odd_addr_117;
wire [31:0] ___ctrl_odd_addr_117;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_odd_addr_117 <= #`UDLY 32'h0;
  end
  else begin
    __ctrl_odd_addr_117 <= #`UDLY ___ctrl_odd_addr_117;
  end
end

reg __ctrl_en_118;
wire ___ctrl_en_118;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __ctrl_en_118 <= #`UDLY 1'h0;
  end
  else begin
    __ctrl_en_118 <= #`UDLY ___ctrl_en_118;
  end
end

reg __memif_rd_running_129;
wire ___memif_rd_running_129;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_running_129 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_running_129 <= #`UDLY ___memif_rd_running_129;
  end
end

reg __memif_wr_running_130;
wire ___memif_wr_running_130;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_running_130 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_running_130 <= #`UDLY ___memif_wr_running_130;
  end
end

reg [63:0] __memif_rd_data_buf_131;
wire [63:0] ___memif_rd_data_buf_131;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_data_buf_131 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_data_buf_131 <= #`UDLY ___memif_rd_data_buf_131;
  end
end

reg [63:0] __memif_rd_addr_buf_132;
wire [63:0] ___memif_rd_addr_buf_132;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_addr_buf_132 <= #`UDLY 64'h0;
  end
  else begin
    __memif_rd_addr_buf_132 <= #`UDLY ___memif_rd_addr_buf_132;
  end
end

reg [63:0] __memif_wr_data_buf_133;
wire [63:0] ___memif_wr_data_buf_133;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_data_buf_133 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_data_buf_133 <= #`UDLY ___memif_wr_data_buf_133;
  end
end

reg [63:0] __memif_wr_addr_buf_134;
wire [63:0] ___memif_wr_addr_buf_134;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_addr_buf_134 <= #`UDLY 64'h0;
  end
  else begin
    __memif_wr_addr_buf_134 <= #`UDLY ___memif_wr_addr_buf_134;
  end
end

reg __memif_rd_ready_135;
wire ___memif_rd_ready_135;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_ready_135 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_ready_135 <= #`UDLY ___memif_rd_ready_135;
  end
end

reg __memif_wr_ready_136;
wire ___memif_wr_ready_136;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_ready_136 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_ready_136 <= #`UDLY ___memif_wr_ready_136;
  end
end

reg __memif_rd_even_valid_137;
wire ___memif_rd_even_valid_137;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_even_valid_137 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_even_valid_137 <= #`UDLY ___memif_rd_even_valid_137;
  end
end

reg __memif_rd_odd_valid_138;
wire ___memif_rd_odd_valid_138;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_rd_odd_valid_138 <= #`UDLY 1'h0;
  end
  else begin
    __memif_rd_odd_valid_138 <= #`UDLY ___memif_rd_odd_valid_138;
  end
end

reg __memif_wr_t_valid_139;
wire ___memif_wr_t_valid_139;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_t_valid_139 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_t_valid_139 <= #`UDLY ___memif_wr_t_valid_139;
  end
end

reg __memif_wr_e_valid_140;
wire ___memif_wr_e_valid_140;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __memif_wr_e_valid_140 <= #`UDLY 1'h0;
  end
  else begin
    __memif_wr_e_valid_140 <= #`UDLY ___memif_wr_e_valid_140;
  end
end

reg [63:0] __exp_dly_145;
wire [63:0] ___exp_dly_145;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_145 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_145 <= #`UDLY ___exp_dly_145;
  end
end

reg [63:0] __exp_dly_2_146;
wire [63:0] ___exp_dly_2_146;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_2_146 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_2_146 <= #`UDLY ___exp_dly_2_146;
  end
end

reg [63:0] __exp_dly_3_147;
wire [63:0] ___exp_dly_3_147;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_dly_3_147 <= #`UDLY 64'h0;
  end
  else begin
    __exp_dly_3_147 <= #`UDLY ___exp_dly_3_147;
  end
end

reg [63:0] __even_data_dly_148;
wire [63:0] ___even_data_dly_148;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_148 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_148 <= #`UDLY ___even_data_dly_148;
  end
end

reg [63:0] __even_data_dly_2_149;
wire [63:0] ___even_data_dly_2_149;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_2_149 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_2_149 <= #`UDLY ___even_data_dly_2_149;
  end
end

reg [63:0] __even_data_dly_3_150;
wire [63:0] ___even_data_dly_3_150;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __even_data_dly_3_150 <= #`UDLY 64'h0;
  end
  else begin
    __even_data_dly_3_150 <= #`UDLY ___even_data_dly_3_150;
  end
end

reg [63:0] __complex_prod_165;
wire [63:0] ___complex_prod_165;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_prod_165 <= #`UDLY 64'h0;
  end
  else begin
    __complex_prod_165 <= #`UDLY ___complex_prod_165;
  end
end

reg [31:0] __mult_result_176;
logic [31:0] ___mult_result_176;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_176 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_176 <= #`UDLY ___mult_result_176;
  end
end

reg [31:0] __mult_result_183;
logic [31:0] ___mult_result_183;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_183 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_183 <= #`UDLY ___mult_result_183;
  end
end

reg [31:0] __mult_result_190;
logic [31:0] ___mult_result_190;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_190 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_190 <= #`UDLY ___mult_result_190;
  end
end

reg [31:0] __mult_result_197;
logic [31:0] ___mult_result_197;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __mult_result_197 <= #`UDLY 32'h0;
  end
  else begin
    __mult_result_197 <= #`UDLY ___mult_result_197;
  end
end

reg [34:0] __s_reg_200;
wire [34:0] ___s_reg_200;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_200 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_200 <= #`UDLY ___s_reg_200;
  end
end

reg [34:0] __s_reg_303;
wire [34:0] ___s_reg_303;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_303 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_303 <= #`UDLY ___s_reg_303;
  end
end

reg [63:0] __complex_sum_412;
wire [63:0] ___complex_sum_412;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_412 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_412 <= #`UDLY ___complex_sum_412;
  end
end

reg [34:0] __s_reg_414;
wire [34:0] ___s_reg_414;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_414 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_414 <= #`UDLY ___s_reg_414;
  end
end

reg [34:0] __s_reg_517;
wire [34:0] ___s_reg_517;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_517 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_517 <= #`UDLY ___s_reg_517;
  end
end

reg [63:0] __complex_sum_625;
wire [63:0] ___complex_sum_625;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __complex_sum_625 <= #`UDLY 64'h0;
  end
  else begin
    __complex_sum_625 <= #`UDLY ___complex_sum_625;
  end
end

reg [34:0] __s_reg_627;
wire [34:0] ___s_reg_627;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_627 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_627 <= #`UDLY ___s_reg_627;
  end
end

reg [34:0] __s_reg_730;
wire [34:0] ___s_reg_730;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __s_reg_730 <= #`UDLY 35'h0;
  end
  else begin
    __s_reg_730 <= #`UDLY ___s_reg_730;
  end
end

reg [3:0] __cell_idx_832;
wire [3:0] ___cell_idx_832;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __cell_idx_832 <= #`UDLY 4'h0;
  end
  else begin
    __cell_idx_832 <= #`UDLY ___cell_idx_832;
  end
end

reg __exp_sram_dly_833;
wire ___exp_sram_dly_833;
always @(posedge clk or negedge rstn) begin
  if(!rstn) begin
    __exp_sram_dly_833 <= #`UDLY 1'h0;
  end
  else begin
    __exp_sram_dly_833 <= #`UDLY ___exp_sram_dly_833;
  end
end

//assign logic
assign ___fft_run_78 /* 575 */ = (__fft_end_72 /* 576 */ )?(0 /* 577 */ ):(fft_cfg__start /* 578 */ )?(1 /* 579 */ ):__fft_run_78 /* 581 */  /* 580 */ ;
assign instr_sram__valid /* 583 */ = __fft_run_78&&__fetch_instr_enable_73 /* 583 */ ;
assign instr_sram__addr /* 584 */ = __instr_addr_74 /* 584 */ ;
assign instr_sram__we_n /* 586 */ = 1 /* 586 */ ;
assign instr_sram__wdata /* 587 */ = 0 /* 587 */ ;
assign ___instr_addr_74 /* 589 */ = (__fetch_instr_enable_73&&instr_sram__ready /* 590 */ )?(__instr_addr_74+1 /* 591 */ ):__instr_addr_74 /* 593 */  /* 592 */ ;
assign ___instr_ready_77 /* 594 */ = instr_sram__ready /* 594 */ ;
assign ___instr_ready_75 /* 596 */ = __instr_ready_77 /* 596 */ ;
assign ___instr_data_76 /* 597 */ = instr_sram__rdata /* 597 */ ;
assign __fft_calc_grant_79 /* 136 */ = (1&__t_53 /* 134 */ )&&(!exp_sram__valid)|exp_sram__ready /* 136 */ ;
assign __op_code_90 /* 635 */ = __instr_87[15:12] /* 635 */ ;
assign __cell_num_91 /* 636 */ = __instr_87[11:10] /* 636 */ ;
assign __immed_92 /* 637 */ = __instr_87[9:0] /* 637 */ ;
assign ___instr_87 /* 639 */ = (__fft_calc_grant_79&&__instr_ready_75 /* 640 */ )?(__instr_data_76 /* 641 */ ):__instr_87 /* 643 */  /* 642 */ ;
assign ___decode_grant_89 /* 645 */ = __fft_calc_grant_79 /* 645 */ ;
assign ___instr_valid_88 /* 647 */ = (__fft_calc_grant_79 /* 648 */ )?(__instr_ready_75 /* 649 */ ):__instr_valid_88 /* 651 */  /* 650 */ ;
assign __set_addr_93 /* 653 */ = (__op_code_90==(4'h2 /* 611 */ )) /* 653 */ ;
assign __get_exp_94 /* 654 */ = (__op_code_90==(4'h3 /* 612 */ )) /* 654 */ ;
assign __fft_calc_95 /* 655 */ = (__op_code_90==(4'h1 /* 610 */ )) /* 655 */ ;
assign __calc_end_96 /* 656 */ = (__op_code_90==(4'hf /* 613 */ )) /* 656 */ ;
assign __set_space_addr_97 /* 658 */ = __set_addr_93&&(__cell_num_91==(2'b00 /* 615 */ )) /* 658 */ ;
assign __set_step_addr_98 /* 659 */ = __set_addr_93&&(__cell_num_91==(2'b01 /* 616 */ )) /* 659 */ ;
assign ___space_base_addr_85 /* 661 */ = (__instr_valid_88&&__fft_calc_grant_79&&__set_addr_93&&__set_space_addr_97 /* 662 */ )?(__immed_92 /* 663 */ ):__space_base_addr_85 /* 665 */  /* 664 */ ;
assign ___step_addr_86 /* 667 */ = (__instr_valid_88&&__fft_calc_grant_79&&__set_addr_93&&__set_step_addr_98 /* 668 */ )?(__immed_92 /* 669 */ ):__step_addr_86 /* 671 */  /* 670 */ ;
assign ___decode_valid_80 /* 674 */ = (__instr_valid_88&&__fft_calc_95&&(__cell_num_91>=0)&&__fft_calc_grant_79 /* 675 */ )?(1 /* 676 */ ):0 /* 678 */  /* 677 */ ;
assign ___decode_even_addr_81 /* 682 */ = (__instr_valid_88&&__fft_calc_95&&(__cell_num_91>=0)&&__fft_calc_grant_79 /* 683 */ )?(__immed_92+__space_base_addr_85+0 /* 684 */ ):__decode_even_addr_81 /* 686 */  /* 685 */ ;
assign ___decode_odd_addr_82 /* 688 */ = (__instr_valid_88&&__fft_calc_95&&(__cell_num_91>=0)&&__fft_calc_grant_79 /* 689 */ )?(__immed_92+__space_base_addr_85+__step_addr_86+0 /* 690 */ ):__decode_odd_addr_82 /* 692 */  /* 691 */ ;
assign __fft_end_72 /* 694 */ = (__instr_valid_88&&__calc_end_96&&(__cell_num_91>=0) /* 695 */ )?(1 /* 696 */ ):0 /* 698 */  /* 697 */ ;
assign __fetch_instr_enable_73 /* 699 */ = __decode_grant_89 /* 699 */ ;
assign ___get_exp_valid_83 /* 701 */ = (__instr_valid_88&&__get_exp_94&&(__cell_num_91>=0)&&__fft_calc_grant_79 /* 702 */ )?(1 /* 703 */ ):0 /* 705 */  /* 704 */ ;
assign ___get_exp_valid_84 /* 707 */ = (__instr_valid_88&&__get_exp_94&&(__cell_num_91>=0)&&__fft_calc_grant_79 /* 708 */ )?(__immed_92 /* 709 */ ):__get_exp_valid_84 /* 711 */  /* 710 */ ;
assign ___ctrl_even_addr_100 /* 270 */ = (__rd_ready_58&&__wr_grant_66 /* 271 */ )?(__rd_even_addr_60 /* 272 */ ):__ctrl_even_addr_100 /* 274 */  /* 273 */ ;
assign ___ctrl_odd_addr_101 /* 276 */ = (__rd_ready_58&&__wr_grant_66 /* 277 */ )?(__rd_odd_addr_62 /* 278 */ ):__ctrl_even_addr_100 /* 280 */  /* 279 */ ;
assign ___ctrl_valid_99 /* 282 */ = (__wr_grant_66 /* 283 */ )?(__rd_ready_58 /* 284 */ ):__ctrl_valid_99 /* 286 */  /* 285 */ ;
assign ___ctrl_en_102 /* 288 */ = __rd_ready_58&&__wr_grant_66 /* 288 */ ;
assign ___ctrl_valid_103 /* 290 */ = (__wr_grant_66 /* 291 */ )?(__ctrl_valid_99 /* 292 */ ):__ctrl_valid_103 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_104 /* 296 */ = (__ctrl_valid_99&&__wr_grant_66 /* 297 */ )?(__ctrl_even_addr_100 /* 298 */ ):__ctrl_even_addr_104 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_105 /* 302 */ = (__ctrl_valid_99&&__wr_grant_66 /* 303 */ )?(__ctrl_odd_addr_101 /* 304 */ ):__ctrl_odd_addr_105 /* 306 */  /* 305 */ ;
assign ___ctrl_en_106 /* 308 */ = __ctrl_valid_99&__wr_grant_66 /* 308 */ ;
assign ___ctrl_valid_107 /* 290 */ = (__wr_grant_66 /* 291 */ )?(__ctrl_valid_103 /* 292 */ ):__ctrl_valid_107 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_108 /* 296 */ = (__ctrl_valid_103&&__wr_grant_66 /* 297 */ )?(__ctrl_even_addr_104 /* 298 */ ):__ctrl_even_addr_108 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_109 /* 302 */ = (__ctrl_valid_103&&__wr_grant_66 /* 303 */ )?(__ctrl_odd_addr_105 /* 304 */ ):__ctrl_odd_addr_109 /* 306 */  /* 305 */ ;
assign ___ctrl_en_110 /* 308 */ = __ctrl_valid_103&__wr_grant_66 /* 308 */ ;
assign ___ctrl_valid_111 /* 290 */ = (__wr_grant_66 /* 291 */ )?(__ctrl_valid_107 /* 292 */ ):__ctrl_valid_111 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_112 /* 296 */ = (__ctrl_valid_107&&__wr_grant_66 /* 297 */ )?(__ctrl_even_addr_108 /* 298 */ ):__ctrl_even_addr_112 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_113 /* 302 */ = (__ctrl_valid_107&&__wr_grant_66 /* 303 */ )?(__ctrl_odd_addr_109 /* 304 */ ):__ctrl_odd_addr_113 /* 306 */  /* 305 */ ;
assign ___ctrl_en_114 /* 308 */ = __ctrl_valid_107&__wr_grant_66 /* 308 */ ;
assign ___ctrl_valid_115 /* 290 */ = (__wr_grant_66 /* 291 */ )?(__ctrl_valid_111 /* 292 */ ):__ctrl_valid_115 /* 294 */  /* 293 */ ;
assign ___ctrl_even_addr_116 /* 296 */ = (__ctrl_valid_111&&__wr_grant_66 /* 297 */ )?(__ctrl_even_addr_112 /* 298 */ ):__ctrl_even_addr_116 /* 300 */  /* 299 */ ;
assign ___ctrl_odd_addr_117 /* 302 */ = (__ctrl_valid_111&&__wr_grant_66 /* 303 */ )?(__ctrl_odd_addr_113 /* 304 */ ):__ctrl_odd_addr_117 /* 306 */  /* 305 */ ;
assign ___ctrl_en_118 /* 308 */ = __ctrl_valid_111&__wr_grant_66 /* 308 */ ;
assign ___memif_rd_running_129 /* 354 */ = (__rd_odd_data_ready_142&&__memif_rd_running_129 /* 355 */ )?(__rd_valid_57 /* 356 */ ):(__rd_valid_57 /* 357 */ )?(1 /* 358 */ ):__memif_rd_running_129 /* 360 */  /* 359 */ ;
assign ___memif_wr_running_130 /* 362 */ = (__wr_sub_data_ready_144&&__memif_wr_running_130 /* 363 */ )?(__wr_valid_64 /* 364 */ ):(__wr_valid_64 /* 365 */ )?(1 /* 366 */ ):__memif_wr_running_130 /* 368 */  /* 367 */ ;
assign ___memif_rd_data_buf_131 /* 371 */ = (__memif_rd_odd_valid_138 /* 372 */ )?(__rdata_128 /* 373 */ ):__memif_rd_data_buf_131 /* 375 */  /* 374 */ ;
assign ___memif_rd_addr_buf_132 /* 377 */ = (__rd_valid_57&&__pip_en_119 /* 378 */ )?(__rd_odd_addr_62 /* 379 */ ):__memif_rd_addr_buf_132 /* 381 */  /* 380 */ ;
assign ___memif_rd_even_valid_137 /* 383 */ = (__pip_en_119&&(!__memif_wr_t_valid_139)&&(!__memif_wr_e_valid_140) /* 384 */ )?(__rd_valid_57 /* 385 */ ):0 /* 387 */  /* 386 */ ;
assign ___memif_rd_odd_valid_138 /* 389 */ = (__pip_en_120&&__rd_odd_data_ready_142 /* 390 */ )?(__rd_even_data_ready_141 /* 391 */ ):(__pip_en_120&&__rd_even_data_ready_141 /* 392 */ )?(1 /* 393 */ ):__memif_rd_odd_valid_138 /* 395 */  /* 394 */ ;
assign ___memif_wr_data_buf_133 /* 398 */ = (__wr_valid_64&&__pip_en_122 /* 399 */ )?(__wr_sub_data_70 /* 400 */ ):__memif_wr_data_buf_133 /* 402 */  /* 401 */ ;
assign ___memif_wr_addr_buf_134 /* 404 */ = (__wr_valid_64&&__pip_en_122 /* 405 */ )?(__wr_odd_addr_69 /* 406 */ ):__memif_wr_addr_buf_134 /* 408 */  /* 407 */ ;
assign ___memif_wr_t_valid_139 /* 410 */ = (__pip_en_122 /* 411 */ )?(__wr_valid_64 /* 412 */ ):0 /* 414 */  /* 413 */ ;
assign ___memif_wr_e_valid_140 /* 416 */ = (__wr_sub_data_ready_144 /* 417 */ )?(__wr_add_data_ready_143 /* 418 */ ):(__wr_add_data_ready_143 /* 419 */ )?(1 /* 420 */ ):__memif_wr_e_valid_140 /* 422 */  /* 421 */ ;
assign __rd_even_data_ready_141 /* 424 */ = __memif_rd_running_129&&__memif_rd_even_valid_137&&__sram_ready_124&&(!__memif_wr_t_valid_139)&&(!__memif_wr_e_valid_140) /* 424 */ ;
assign __rd_odd_data_ready_142 /* 425 */ = __memif_rd_running_129&&__memif_rd_odd_valid_138&&__sram_ready_124&&(!__memif_wr_t_valid_139)&&(!__memif_wr_e_valid_140) /* 425 */ ;
assign __wr_add_data_ready_143 /* 427 */ = __memif_wr_running_130&&__memif_wr_t_valid_139&&__sram_ready_124 /* 427 */ ;
assign __wr_sub_data_ready_144 /* 428 */ = __memif_wr_running_130&&__memif_wr_e_valid_140&&__sram_ready_124 /* 428 */ ;
assign __sram_valid_123 /* 430 */ = (__memif_rd_even_valid_137||__memif_rd_odd_valid_138&&(!__memif_wr_t_valid_139)&&(!__memif_wr_e_valid_140)||__memif_wr_t_valid_139||__memif_wr_e_valid_140) /* 430 */ ;
assign __we_n_125 /* 431 */ = !(__memif_wr_t_valid_139||__memif_wr_e_valid_140) /* 431 */ ;
assign __waddr_126 /* 433 */ = (__memif_wr_t_valid_139 /* 434 */ )?(__wr_even_addr_67 /* 435 */ ):(__memif_wr_e_valid_140 /* 436 */ )?(__memif_wr_addr_buf_134 /* 437 */ ):(__memif_rd_even_valid_137 /* 438 */ )?(__rd_even_addr_60 /* 439 */ ):(__memif_rd_odd_valid_138 /* 440 */ )?(__memif_rd_addr_buf_132 /* 441 */ ):0 /* 443 */  /* 442 */ ;
assign __wdata_127 /* 445 */ = (__memif_wr_t_valid_139 /* 446 */ )?(__wr_add_data_68 /* 447 */ ):(__memif_wr_e_valid_140 /* 448 */ )?(__memif_wr_data_buf_133 /* 449 */ ):0 /* 451 */  /* 450 */ ;
assign ___rd_even_data_61 /* 453 */ = (__memif_rd_ready_135 /* 454 */ )?(__memif_rd_data_buf_131 /* 455 */ ):0 /* 457 */  /* 456 */ ;
assign __rd_odd_data_63 /* 459 */ = (__memif_rd_ready_135 /* 460 */ )?(__rdata_128 /* 461 */ ):0 /* 463 */  /* 462 */ ;
assign __pip_en_119 /* 465 */ = (__memif_rd_odd_valid_138&&__rd_odd_data_ready_142||!__memif_rd_odd_valid_138) /* 465 */ ;
assign __pip_en_120 /* 466 */ = __wr_grant_66 /* 466 */ ;
assign __pip_en_121 /* 467 */ = (__memif_wr_t_valid_139&&__wr_add_data_ready_143||!__memif_wr_t_valid_139) /* 467 */ ;
assign __pip_en_122 /* 468 */ = (__memif_wr_e_valid_140&&__wr_sub_data_ready_144||!__memif_wr_e_valid_140) /* 468 */ ;
assign ___memif_rd_ready_135 /* 470 */ = __rd_odd_data_ready_142 /* 470 */ ;
assign ___memif_wr_ready_136 /* 471 */ = __wr_sub_data_ready_144 /* 471 */ ;
assign __rd_ready_58 /* 473 */ = __memif_rd_ready_135 /* 473 */ ;
assign __rd_grant_59 /* 474 */ = __memif_rd_even_valid_137&&__rd_even_data_ready_141||!__memif_rd_even_valid_137 /* 474 */ ;
assign __wr_ready_65 /* 476 */ = __memif_wr_ready_136 /* 476 */ ;
assign __wr_grant_66 /* 477 */ = __pip_en_121 /* 477 */ ;
assign ___exp_dly_145 /* 508 */ = (__ctrl_valid_99 /* 509 */ )?(__rd_even_data_61 /* 510 */ ):__exp_dly_145 /* 512 */  /* 511 */ ;
assign ___exp_dly_2_146 /* 514 */ = (__ctrl_valid_103 /* 515 */ )?(__exp_dly_145 /* 516 */ ):__exp_dly_2_146 /* 518 */  /* 517 */ ;
assign ___exp_dly_3_147 /* 520 */ = (__ctrl_valid_107 /* 521 */ )?(__exp_dly_2_146 /* 522 */ ):__exp_dly_3_147 /* 524 */  /* 523 */ ;
assign ___even_data_dly_148 /* 526 */ = (__ctrl_valid_99 /* 527 */ )?(__exp_data_71 /* 528 */ ):__even_data_dly_148 /* 530 */  /* 529 */ ;
assign ___even_data_dly_2_149 /* 532 */ = (__ctrl_valid_103 /* 533 */ )?(__even_data_dly_148 /* 534 */ ):__even_data_dly_2_149 /* 536 */  /* 535 */ ;
assign ___even_data_dly_3_150 /* 538 */ = (__ctrl_valid_107 /* 539 */ )?(__even_data_dly_2_149 /* 540 */ ):__even_data_dly_3_150 /* 542 */  /* 541 */ ;
assign __t_153 /* 544 */ = __exp_dly_3_147 /* 544 */ ;
assign __result_sign_170 /* 117 */ = __m_1_real_155[31]^__m_2_real_156[31] /* 117 */ ;
assign __result_exp_171 /* 118 */ = __m_1_real_155[30:23]-127+(__m_2_real_156[30:23]) /* 118 */ ;
assign __exp_add1_172 /* 119 */ = __result_exp_171+1 /* 119 */ ;
assign __overflow_1_166 /* 121 */ = __result_exp_171[8]||__exp_add1_172[8] /* 121 */ ;
assign __result_factor_173 /* 123 */ = { 1'b1,__m_1_real_155[22:0] }*{ 1'b1,__m_2_real_156[22:0] } /* 123 */ ;
assign __valid_factor_norm_174 /* 133 */ = __result_factor_173[45:23] /* 133 */ ;
assign __valid_factor_shift_175 /* 134 */ = __result_factor_173[46:24] /* 134 */ ;
assign __real_x_real_161 /* 208 */ = (__mult_result_176 /* 143 */ ) /* 208 */ ;
assign __result_sign_177 /* 117 */ = __m_1_real_155[31]^__m_2_imag_158[31] /* 117 */ ;
assign __result_exp_178 /* 118 */ = __m_1_real_155[30:23]-127+(__m_2_imag_158[30:23]) /* 118 */ ;
assign __exp_add1_179 /* 119 */ = __result_exp_178+1 /* 119 */ ;
assign __overflow_2_167 /* 121 */ = __result_exp_178[8]||__exp_add1_179[8] /* 121 */ ;
assign __result_factor_180 /* 123 */ = { 1'b1,__m_1_real_155[22:0] }*{ 1'b1,__m_2_imag_158[22:0] } /* 123 */ ;
assign __valid_factor_norm_181 /* 133 */ = __result_factor_180[45:23] /* 133 */ ;
assign __valid_factor_shift_182 /* 134 */ = __result_factor_180[46:24] /* 134 */ ;
assign __real_x_imag_162 /* 209 */ = (__mult_result_183 /* 143 */ ) /* 209 */ ;
assign __result_sign_184 /* 117 */ = __m_1_imag_157[31]^__m_2_real_156[31] /* 117 */ ;
assign __result_exp_185 /* 118 */ = __m_1_imag_157[30:23]-127+(__m_2_real_156[30:23]) /* 118 */ ;
assign __exp_add1_186 /* 119 */ = __result_exp_185+1 /* 119 */ ;
assign __overflow_3_168 /* 121 */ = __result_exp_185[8]||__exp_add1_186[8] /* 121 */ ;
assign __result_factor_187 /* 123 */ = { 1'b1,__m_1_imag_157[22:0] }*{ 1'b1,__m_2_real_156[22:0] } /* 123 */ ;
assign __valid_factor_norm_188 /* 133 */ = __result_factor_187[45:23] /* 133 */ ;
assign __valid_factor_shift_189 /* 134 */ = __result_factor_187[46:24] /* 134 */ ;
assign __imag_x_real_163 /* 210 */ = (__mult_result_190 /* 143 */ ) /* 210 */ ;
assign __result_sign_191 /* 117 */ = __m_1_imag_157[31]^__m_2_imag_158[31] /* 117 */ ;
assign __result_exp_192 /* 118 */ = __m_1_imag_157[30:23]-127+(__m_2_imag_158[30:23]) /* 118 */ ;
assign __exp_add1_193 /* 119 */ = __result_exp_192+1 /* 119 */ ;
assign __overflow_4_169 /* 121 */ = __result_exp_192[8]||__exp_add1_193[8] /* 121 */ ;
assign __result_factor_194 /* 123 */ = { 1'b1,__m_1_imag_157[22:0] }*{ 1'b1,__m_2_imag_158[22:0] } /* 123 */ ;
assign __valid_factor_norm_195 /* 133 */ = __result_factor_194[45:23] /* 133 */ ;
assign __valid_factor_shift_196 /* 134 */ = __result_factor_194[46:24] /* 134 */ ;
assign __imag_x_imag_164 /* 211 */ = (__mult_result_197 /* 143 */ ) /* 211 */ ;
assign __neg_imag_x_imag_198 /* 213 */ = { 1'b1,__imag_x_imag_164[30:0] } /* 213 */ ;
assign __norms_213[0] /* 32 */ = (|(__expn_202)) /* 32 */ ;
assign __sign_201 /* 33 */ = __real_x_real_161[31] /* 33 */ ;
assign __expn_202 /* 34 */ = __real_x_real_161[30:23] /* 34 */ ;
assign __mant_204[22:0] /* 35 */ = __real_x_real_161[22:0] /* 35 */ ;
assign __mant_204[23] /* 36 */ = __norms_213[0] /* 36 */ ;
assign __expn_d_203 /* 37 */ = __expn_202+!__norms_213[0] /* 37 */ ;
assign __shift_num_215 /* 38 */ = __expn_aln_214-__expn_d_203 /* 38 */ ;
assign __cond_216 /* 242 */ = 0==__shift_num_215 /* 242 */ ;
assign __cond_217 /* 242 */ = 1==__shift_num_215 /* 242 */ ;
assign __cond_218 /* 242 */ = 2==__shift_num_215 /* 242 */ ;
assign __cond_219 /* 242 */ = 3==__shift_num_215 /* 242 */ ;
assign __cond_220 /* 242 */ = 4==__shift_num_215 /* 242 */ ;
assign __cond_221 /* 242 */ = 5==__shift_num_215 /* 242 */ ;
assign __cond_222 /* 242 */ = 6==__shift_num_215 /* 242 */ ;
assign __cond_223 /* 242 */ = 7==__shift_num_215 /* 242 */ ;
assign __cond_224 /* 242 */ = 8==__shift_num_215 /* 242 */ ;
assign __cond_225 /* 242 */ = 9==__shift_num_215 /* 242 */ ;
assign __cond_226 /* 242 */ = 10==__shift_num_215 /* 242 */ ;
assign __cond_227 /* 242 */ = 11==__shift_num_215 /* 242 */ ;
assign __cond_228 /* 242 */ = 12==__shift_num_215 /* 242 */ ;
assign __cond_229 /* 242 */ = 13==__shift_num_215 /* 242 */ ;
assign __cond_230 /* 242 */ = 14==__shift_num_215 /* 242 */ ;
assign __cond_231 /* 242 */ = 15==__shift_num_215 /* 242 */ ;
assign __cond_232 /* 242 */ = 16==__shift_num_215 /* 242 */ ;
assign __cond_233 /* 242 */ = 17==__shift_num_215 /* 242 */ ;
assign __cond_234 /* 242 */ = 18==__shift_num_215 /* 242 */ ;
assign __cond_235 /* 242 */ = 19==__shift_num_215 /* 242 */ ;
assign __cond_236 /* 242 */ = 20==__shift_num_215 /* 242 */ ;
assign __cond_237 /* 242 */ = 21==__shift_num_215 /* 242 */ ;
assign __cond_238 /* 242 */ = 22==__shift_num_215 /* 242 */ ;
assign __cond_239 /* 242 */ = 23==__shift_num_215 /* 242 */ ;
assign __mant_sft_205 /* 39 */ = (__shift_num_215<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_216} }&((__mant_204>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_217} }&((__mant_204>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_218} }&((__mant_204>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_219} }&((__mant_204>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_220} }&((__mant_204>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_221} }&((__mant_204>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_222} }&((__mant_204>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_223} }&((__mant_204>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_224} }&((__mant_204>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_225} }&((__mant_204>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_226} }&((__mant_204>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_227} }&((__mant_204>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_228} }&((__mant_204>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_229} }&((__mant_204>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_230} }&((__mant_204>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_231} }&((__mant_204>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_232} }&((__mant_204>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_233} }&((__mant_204>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_234} }&((__mant_204>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_235} }&((__mant_204>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_236} }&((__mant_204>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_237} }&((__mant_204>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_238} }&((__mant_204>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_239} }&((__mant_204>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_206 /* 47 */ = (__sign_201 /* 48 */ )?(~__mant_sft_205 /* 48 */ ):__mant_sft_205 /* 49 */  /* 49 */ ;
assign __norms_213[1] /* 32 */ = (|(__expn_208)) /* 32 */ ;
assign __sign_207 /* 33 */ = __neg_imag_x_imag_198[31] /* 33 */ ;
assign __expn_208 /* 34 */ = __neg_imag_x_imag_198[30:23] /* 34 */ ;
assign __mant_210[22:0] /* 35 */ = __neg_imag_x_imag_198[22:0] /* 35 */ ;
assign __mant_210[23] /* 36 */ = __norms_213[1] /* 36 */ ;
assign __expn_d_209 /* 37 */ = __expn_208+!__norms_213[1] /* 37 */ ;
assign __shift_num_240 /* 38 */ = __expn_aln_214-__expn_d_209 /* 38 */ ;
assign __cond_241 /* 242 */ = 0==__shift_num_240 /* 242 */ ;
assign __cond_242 /* 242 */ = 1==__shift_num_240 /* 242 */ ;
assign __cond_243 /* 242 */ = 2==__shift_num_240 /* 242 */ ;
assign __cond_244 /* 242 */ = 3==__shift_num_240 /* 242 */ ;
assign __cond_245 /* 242 */ = 4==__shift_num_240 /* 242 */ ;
assign __cond_246 /* 242 */ = 5==__shift_num_240 /* 242 */ ;
assign __cond_247 /* 242 */ = 6==__shift_num_240 /* 242 */ ;
assign __cond_248 /* 242 */ = 7==__shift_num_240 /* 242 */ ;
assign __cond_249 /* 242 */ = 8==__shift_num_240 /* 242 */ ;
assign __cond_250 /* 242 */ = 9==__shift_num_240 /* 242 */ ;
assign __cond_251 /* 242 */ = 10==__shift_num_240 /* 242 */ ;
assign __cond_252 /* 242 */ = 11==__shift_num_240 /* 242 */ ;
assign __cond_253 /* 242 */ = 12==__shift_num_240 /* 242 */ ;
assign __cond_254 /* 242 */ = 13==__shift_num_240 /* 242 */ ;
assign __cond_255 /* 242 */ = 14==__shift_num_240 /* 242 */ ;
assign __cond_256 /* 242 */ = 15==__shift_num_240 /* 242 */ ;
assign __cond_257 /* 242 */ = 16==__shift_num_240 /* 242 */ ;
assign __cond_258 /* 242 */ = 17==__shift_num_240 /* 242 */ ;
assign __cond_259 /* 242 */ = 18==__shift_num_240 /* 242 */ ;
assign __cond_260 /* 242 */ = 19==__shift_num_240 /* 242 */ ;
assign __cond_261 /* 242 */ = 20==__shift_num_240 /* 242 */ ;
assign __cond_262 /* 242 */ = 21==__shift_num_240 /* 242 */ ;
assign __cond_263 /* 242 */ = 22==__shift_num_240 /* 242 */ ;
assign __cond_264 /* 242 */ = 23==__shift_num_240 /* 242 */ ;
assign __mant_sft_211 /* 39 */ = (__shift_num_240<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_241} }&((__mant_210>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_242} }&((__mant_210>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_243} }&((__mant_210>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_244} }&((__mant_210>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_245} }&((__mant_210>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_246} }&((__mant_210>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_247} }&((__mant_210>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_248} }&((__mant_210>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_249} }&((__mant_210>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_250} }&((__mant_210>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_251} }&((__mant_210>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_252} }&((__mant_210>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_253} }&((__mant_210>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_254} }&((__mant_210>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_255} }&((__mant_210>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_256} }&((__mant_210>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_257} }&((__mant_210>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_258} }&((__mant_210>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_259} }&((__mant_210>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_260} }&((__mant_210>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_261} }&((__mant_210>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_262} }&((__mant_210>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_263} }&((__mant_210>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_264} }&((__mant_210>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_212 /* 47 */ = (__sign_207 /* 48 */ )?(~__mant_sft_211 /* 48 */ ):__mant_sft_211 /* 49 */  /* 49 */ ;
assign ___s_reg_200[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_214 /* 53 */ ):__s_reg_200[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_200[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_206+__mant_sgn_212+__sign_201+__sign_207 /* 59 */ ):__s_reg_200[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_265 /* 63 */ = __expn_d_209-__expn_d_203 /* 63 */ ;
assign __expn_aln_214 /* 64 */ = (__expn_dif_265[8] /* 65 */ )?(__expn_d_203 /* 66 */ ):__expn_d_209 /* 68 */  /* 67 */ ;
assign __expn_10r_266 /* 70 */ = __s_reg_200[34:27] /* 70 */ ;
assign __mant_10_267 /* 71 */ = __s_reg_200[26:0] /* 71 */ ;
assign __mant_10_abs_268 /* 73 */ = (__mant_10_267[26] /* 74 */ )?(~__mant_10_267 /* 74 */ ):__mant_10_267 /* 75 */  /* 75 */ ;
assign __mant_padded_269 /* 77 */ = { __mant_10_abs_268,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_271 /* 82 */ = !__mant_10_abs_268 /* 82 */ ;
assign __lead_zeros_270 /* 84 */ = (__mant_10_abs_268[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_268[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_272 /* 93 */ = __expn_10r_266+2-__lead_zeros_270 /* 93 */ ;
assign __sum_sign_273 /* 94 */ = __mant_10_267[26] /* 94 */ ;
assign __sum_expn_274 /* 95 */ = (__all_zero_271||__expn_sft_272[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_272[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_272[7:0] /* 98 */  /* 98 */ ;
assign __cond_276 /* 242 */ = 0==__lead_zeros_270 /* 242 */ ;
assign __cond_277 /* 242 */ = 1==__lead_zeros_270 /* 242 */ ;
assign __cond_278 /* 242 */ = 2==__lead_zeros_270 /* 242 */ ;
assign __cond_279 /* 242 */ = 3==__lead_zeros_270 /* 242 */ ;
assign __cond_280 /* 242 */ = 4==__lead_zeros_270 /* 242 */ ;
assign __cond_281 /* 242 */ = 5==__lead_zeros_270 /* 242 */ ;
assign __cond_282 /* 242 */ = 6==__lead_zeros_270 /* 242 */ ;
assign __cond_283 /* 242 */ = 7==__lead_zeros_270 /* 242 */ ;
assign __cond_284 /* 242 */ = 8==__lead_zeros_270 /* 242 */ ;
assign __cond_285 /* 242 */ = 9==__lead_zeros_270 /* 242 */ ;
assign __cond_286 /* 242 */ = 10==__lead_zeros_270 /* 242 */ ;
assign __cond_287 /* 242 */ = 11==__lead_zeros_270 /* 242 */ ;
assign __cond_288 /* 242 */ = 12==__lead_zeros_270 /* 242 */ ;
assign __cond_289 /* 242 */ = 13==__lead_zeros_270 /* 242 */ ;
assign __cond_290 /* 242 */ = 14==__lead_zeros_270 /* 242 */ ;
assign __cond_291 /* 242 */ = 15==__lead_zeros_270 /* 242 */ ;
assign __cond_292 /* 242 */ = 16==__lead_zeros_270 /* 242 */ ;
assign __cond_293 /* 242 */ = 17==__lead_zeros_270 /* 242 */ ;
assign __cond_294 /* 242 */ = 18==__lead_zeros_270 /* 242 */ ;
assign __cond_295 /* 242 */ = 19==__lead_zeros_270 /* 242 */ ;
assign __cond_296 /* 242 */ = 20==__lead_zeros_270 /* 242 */ ;
assign __cond_297 /* 242 */ = 21==__lead_zeros_270 /* 242 */ ;
assign __cond_298 /* 242 */ = 22==__lead_zeros_270 /* 242 */ ;
assign __cond_299 /* 242 */ = 23==__lead_zeros_270 /* 242 */ ;
assign __cond_300 /* 242 */ = 24==__lead_zeros_270 /* 242 */ ;
assign __cond_301 /* 242 */ = 25==__lead_zeros_270 /* 242 */ ;
assign __sum_mant_275 /* 100 */ = (__all_zero_271 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_276} }&((__mant_padded_269[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_277} }&((__mant_padded_269[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_278} }&((__mant_padded_269[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_279} }&((__mant_padded_269[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_280} }&((__mant_padded_269[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_281} }&((__mant_padded_269[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_282} }&((__mant_padded_269[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_283} }&((__mant_padded_269[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_284} }&((__mant_padded_269[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_285} }&((__mant_padded_269[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_286} }&((__mant_padded_269[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_287} }&((__mant_padded_269[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_288} }&((__mant_padded_269[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_289} }&((__mant_padded_269[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_290} }&((__mant_padded_269[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_291} }&((__mant_padded_269[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_292} }&((__mant_padded_269[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_293} }&((__mant_padded_269[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_294} }&((__mant_padded_269[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_295} }&((__mant_padded_269[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_296} }&((__mant_padded_269[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_297} }&((__mant_padded_269[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_298} }&((__mant_padded_269[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_299} }&((__mant_padded_269[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_300} }&((__mant_padded_269[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_301} }&((__mant_padded_269[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_199[31] /* 108 */ = __sum_sign_273 /* 108 */ ;
assign __result_199[30:23] /* 109 */ = __sum_expn_274 /* 109 */ ;
assign __result_199[22:0] /* 110 */ = __sum_mant_275 /* 110 */ ;
assign __prod_real_159 /* 215 */ = (__result_199 /* 111 */ ) /* 215 */ ;
assign __norms_316[0] /* 32 */ = (|(__expn_305)) /* 32 */ ;
assign __sign_304 /* 33 */ = __real_x_imag_162[31] /* 33 */ ;
assign __expn_305 /* 34 */ = __real_x_imag_162[30:23] /* 34 */ ;
assign __mant_307[22:0] /* 35 */ = __real_x_imag_162[22:0] /* 35 */ ;
assign __mant_307[23] /* 36 */ = __norms_316[0] /* 36 */ ;
assign __expn_d_306 /* 37 */ = __expn_305+!__norms_316[0] /* 37 */ ;
assign __shift_num_318 /* 38 */ = __expn_aln_317-__expn_d_306 /* 38 */ ;
assign __cond_319 /* 242 */ = 0==__shift_num_318 /* 242 */ ;
assign __cond_320 /* 242 */ = 1==__shift_num_318 /* 242 */ ;
assign __cond_321 /* 242 */ = 2==__shift_num_318 /* 242 */ ;
assign __cond_322 /* 242 */ = 3==__shift_num_318 /* 242 */ ;
assign __cond_323 /* 242 */ = 4==__shift_num_318 /* 242 */ ;
assign __cond_324 /* 242 */ = 5==__shift_num_318 /* 242 */ ;
assign __cond_325 /* 242 */ = 6==__shift_num_318 /* 242 */ ;
assign __cond_326 /* 242 */ = 7==__shift_num_318 /* 242 */ ;
assign __cond_327 /* 242 */ = 8==__shift_num_318 /* 242 */ ;
assign __cond_328 /* 242 */ = 9==__shift_num_318 /* 242 */ ;
assign __cond_329 /* 242 */ = 10==__shift_num_318 /* 242 */ ;
assign __cond_330 /* 242 */ = 11==__shift_num_318 /* 242 */ ;
assign __cond_331 /* 242 */ = 12==__shift_num_318 /* 242 */ ;
assign __cond_332 /* 242 */ = 13==__shift_num_318 /* 242 */ ;
assign __cond_333 /* 242 */ = 14==__shift_num_318 /* 242 */ ;
assign __cond_334 /* 242 */ = 15==__shift_num_318 /* 242 */ ;
assign __cond_335 /* 242 */ = 16==__shift_num_318 /* 242 */ ;
assign __cond_336 /* 242 */ = 17==__shift_num_318 /* 242 */ ;
assign __cond_337 /* 242 */ = 18==__shift_num_318 /* 242 */ ;
assign __cond_338 /* 242 */ = 19==__shift_num_318 /* 242 */ ;
assign __cond_339 /* 242 */ = 20==__shift_num_318 /* 242 */ ;
assign __cond_340 /* 242 */ = 21==__shift_num_318 /* 242 */ ;
assign __cond_341 /* 242 */ = 22==__shift_num_318 /* 242 */ ;
assign __cond_342 /* 242 */ = 23==__shift_num_318 /* 242 */ ;
assign __mant_sft_308 /* 39 */ = (__shift_num_318<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_319} }&((__mant_307>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_320} }&((__mant_307>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_321} }&((__mant_307>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_322} }&((__mant_307>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_323} }&((__mant_307>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_324} }&((__mant_307>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_325} }&((__mant_307>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_326} }&((__mant_307>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_327} }&((__mant_307>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_328} }&((__mant_307>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_329} }&((__mant_307>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_330} }&((__mant_307>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_331} }&((__mant_307>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_332} }&((__mant_307>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_333} }&((__mant_307>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_334} }&((__mant_307>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_335} }&((__mant_307>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_336} }&((__mant_307>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_337} }&((__mant_307>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_338} }&((__mant_307>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_339} }&((__mant_307>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_340} }&((__mant_307>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_341} }&((__mant_307>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_342} }&((__mant_307>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_309 /* 47 */ = (__sign_304 /* 48 */ )?(~__mant_sft_308 /* 48 */ ):__mant_sft_308 /* 49 */  /* 49 */ ;
assign __norms_316[1] /* 32 */ = (|(__expn_311)) /* 32 */ ;
assign __sign_310 /* 33 */ = __imag_x_real_163[31] /* 33 */ ;
assign __expn_311 /* 34 */ = __imag_x_real_163[30:23] /* 34 */ ;
assign __mant_313[22:0] /* 35 */ = __imag_x_real_163[22:0] /* 35 */ ;
assign __mant_313[23] /* 36 */ = __norms_316[1] /* 36 */ ;
assign __expn_d_312 /* 37 */ = __expn_311+!__norms_316[1] /* 37 */ ;
assign __shift_num_343 /* 38 */ = __expn_aln_317-__expn_d_312 /* 38 */ ;
assign __cond_344 /* 242 */ = 0==__shift_num_343 /* 242 */ ;
assign __cond_345 /* 242 */ = 1==__shift_num_343 /* 242 */ ;
assign __cond_346 /* 242 */ = 2==__shift_num_343 /* 242 */ ;
assign __cond_347 /* 242 */ = 3==__shift_num_343 /* 242 */ ;
assign __cond_348 /* 242 */ = 4==__shift_num_343 /* 242 */ ;
assign __cond_349 /* 242 */ = 5==__shift_num_343 /* 242 */ ;
assign __cond_350 /* 242 */ = 6==__shift_num_343 /* 242 */ ;
assign __cond_351 /* 242 */ = 7==__shift_num_343 /* 242 */ ;
assign __cond_352 /* 242 */ = 8==__shift_num_343 /* 242 */ ;
assign __cond_353 /* 242 */ = 9==__shift_num_343 /* 242 */ ;
assign __cond_354 /* 242 */ = 10==__shift_num_343 /* 242 */ ;
assign __cond_355 /* 242 */ = 11==__shift_num_343 /* 242 */ ;
assign __cond_356 /* 242 */ = 12==__shift_num_343 /* 242 */ ;
assign __cond_357 /* 242 */ = 13==__shift_num_343 /* 242 */ ;
assign __cond_358 /* 242 */ = 14==__shift_num_343 /* 242 */ ;
assign __cond_359 /* 242 */ = 15==__shift_num_343 /* 242 */ ;
assign __cond_360 /* 242 */ = 16==__shift_num_343 /* 242 */ ;
assign __cond_361 /* 242 */ = 17==__shift_num_343 /* 242 */ ;
assign __cond_362 /* 242 */ = 18==__shift_num_343 /* 242 */ ;
assign __cond_363 /* 242 */ = 19==__shift_num_343 /* 242 */ ;
assign __cond_364 /* 242 */ = 20==__shift_num_343 /* 242 */ ;
assign __cond_365 /* 242 */ = 21==__shift_num_343 /* 242 */ ;
assign __cond_366 /* 242 */ = 22==__shift_num_343 /* 242 */ ;
assign __cond_367 /* 242 */ = 23==__shift_num_343 /* 242 */ ;
assign __mant_sft_314 /* 39 */ = (__shift_num_343<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_344} }&((__mant_313>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_345} }&((__mant_313>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_346} }&((__mant_313>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_347} }&((__mant_313>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_348} }&((__mant_313>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_349} }&((__mant_313>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_350} }&((__mant_313>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_351} }&((__mant_313>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_352} }&((__mant_313>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_353} }&((__mant_313>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_354} }&((__mant_313>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_355} }&((__mant_313>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_356} }&((__mant_313>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_357} }&((__mant_313>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_358} }&((__mant_313>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_359} }&((__mant_313>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_360} }&((__mant_313>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_361} }&((__mant_313>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_362} }&((__mant_313>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_363} }&((__mant_313>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_364} }&((__mant_313>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_365} }&((__mant_313>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_366} }&((__mant_313>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_367} }&((__mant_313>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_315 /* 47 */ = (__sign_310 /* 48 */ )?(~__mant_sft_314 /* 48 */ ):__mant_sft_314 /* 49 */  /* 49 */ ;
assign ___s_reg_303[34:27] /* 51 */ = (__ctrl_valid_103 /* 52 */ )?(__expn_aln_317 /* 53 */ ):__s_reg_303[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_303[26:0] /* 57 */ = (__ctrl_valid_103 /* 58 */ )?(__mant_sgn_309+__mant_sgn_315+__sign_304+__sign_310 /* 59 */ ):__s_reg_303[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_368 /* 63 */ = __expn_d_312-__expn_d_306 /* 63 */ ;
assign __expn_aln_317 /* 64 */ = (__expn_dif_368[8] /* 65 */ )?(__expn_d_306 /* 66 */ ):__expn_d_312 /* 68 */  /* 67 */ ;
assign __expn_10r_369 /* 70 */ = __s_reg_303[34:27] /* 70 */ ;
assign __mant_10_370 /* 71 */ = __s_reg_303[26:0] /* 71 */ ;
assign __mant_10_abs_371 /* 73 */ = (__mant_10_370[26] /* 74 */ )?(~__mant_10_370 /* 74 */ ):__mant_10_370 /* 75 */  /* 75 */ ;
assign __mant_padded_372 /* 77 */ = { __mant_10_abs_371,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_374 /* 82 */ = !__mant_10_abs_371 /* 82 */ ;
assign __lead_zeros_373 /* 84 */ = (__mant_10_abs_371[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_371[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_375 /* 93 */ = __expn_10r_369+2-__lead_zeros_373 /* 93 */ ;
assign __sum_sign_376 /* 94 */ = __mant_10_370[26] /* 94 */ ;
assign __sum_expn_377 /* 95 */ = (__all_zero_374||__expn_sft_375[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_375[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_375[7:0] /* 98 */  /* 98 */ ;
assign __cond_379 /* 242 */ = 0==__lead_zeros_373 /* 242 */ ;
assign __cond_380 /* 242 */ = 1==__lead_zeros_373 /* 242 */ ;
assign __cond_381 /* 242 */ = 2==__lead_zeros_373 /* 242 */ ;
assign __cond_382 /* 242 */ = 3==__lead_zeros_373 /* 242 */ ;
assign __cond_383 /* 242 */ = 4==__lead_zeros_373 /* 242 */ ;
assign __cond_384 /* 242 */ = 5==__lead_zeros_373 /* 242 */ ;
assign __cond_385 /* 242 */ = 6==__lead_zeros_373 /* 242 */ ;
assign __cond_386 /* 242 */ = 7==__lead_zeros_373 /* 242 */ ;
assign __cond_387 /* 242 */ = 8==__lead_zeros_373 /* 242 */ ;
assign __cond_388 /* 242 */ = 9==__lead_zeros_373 /* 242 */ ;
assign __cond_389 /* 242 */ = 10==__lead_zeros_373 /* 242 */ ;
assign __cond_390 /* 242 */ = 11==__lead_zeros_373 /* 242 */ ;
assign __cond_391 /* 242 */ = 12==__lead_zeros_373 /* 242 */ ;
assign __cond_392 /* 242 */ = 13==__lead_zeros_373 /* 242 */ ;
assign __cond_393 /* 242 */ = 14==__lead_zeros_373 /* 242 */ ;
assign __cond_394 /* 242 */ = 15==__lead_zeros_373 /* 242 */ ;
assign __cond_395 /* 242 */ = 16==__lead_zeros_373 /* 242 */ ;
assign __cond_396 /* 242 */ = 17==__lead_zeros_373 /* 242 */ ;
assign __cond_397 /* 242 */ = 18==__lead_zeros_373 /* 242 */ ;
assign __cond_398 /* 242 */ = 19==__lead_zeros_373 /* 242 */ ;
assign __cond_399 /* 242 */ = 20==__lead_zeros_373 /* 242 */ ;
assign __cond_400 /* 242 */ = 21==__lead_zeros_373 /* 242 */ ;
assign __cond_401 /* 242 */ = 22==__lead_zeros_373 /* 242 */ ;
assign __cond_402 /* 242 */ = 23==__lead_zeros_373 /* 242 */ ;
assign __cond_403 /* 242 */ = 24==__lead_zeros_373 /* 242 */ ;
assign __cond_404 /* 242 */ = 25==__lead_zeros_373 /* 242 */ ;
assign __sum_mant_378 /* 100 */ = (__all_zero_374 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_379} }&((__mant_padded_372[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_380} }&((__mant_padded_372[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_381} }&((__mant_padded_372[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_382} }&((__mant_padded_372[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_383} }&((__mant_padded_372[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_384} }&((__mant_padded_372[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_385} }&((__mant_padded_372[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_386} }&((__mant_padded_372[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_387} }&((__mant_padded_372[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_388} }&((__mant_padded_372[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_389} }&((__mant_padded_372[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_390} }&((__mant_padded_372[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_391} }&((__mant_padded_372[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_392} }&((__mant_padded_372[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_393} }&((__mant_padded_372[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_394} }&((__mant_padded_372[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_395} }&((__mant_padded_372[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_396} }&((__mant_padded_372[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_397} }&((__mant_padded_372[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_398} }&((__mant_padded_372[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_399} }&((__mant_padded_372[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_400} }&((__mant_padded_372[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_401} }&((__mant_padded_372[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_402} }&((__mant_padded_372[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_403} }&((__mant_padded_372[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_404} }&((__mant_padded_372[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_302[31] /* 108 */ = __sum_sign_376 /* 108 */ ;
assign __result_302[30:23] /* 109 */ = __sum_expn_377 /* 109 */ ;
assign __result_302[22:0] /* 110 */ = __sum_mant_378 /* 110 */ ;
assign __prod_imag_160 /* 216 */ = (__result_302 /* 111 */ ) /* 216 */ ;
assign ___complex_prod_165 /* 218 */ = (__ctrl_valid_107 /* 219 */ )?({ __prod_real_159,__prod_imag_160 } /* 220 */ ):__complex_prod_165 /* 222 */  /* 221 */ ;
assign __e_154 /* 545 */ = (__complex_prod_165 /* 225 */ ) /* 545 */ ;
assign __neg_e_405 /* 548 */ = { 1'b1,__e_154[62:0] } /* 548 */ ;
assign __a_1_real_406 /* 163 */ = __t_153[63:32] /* 163 */ ;
assign __a_1_imag_407 /* 164 */ = __t_153[31:0] /* 164 */ ;
assign __a_2_real_408 /* 166 */ = __e_154[63:32] /* 166 */ ;
assign __a_2_imag_409 /* 167 */ = __e_154[31:0] /* 167 */ ;
assign __norms_427[0] /* 32 */ = (|(__expn_416)) /* 32 */ ;
assign __sign_415 /* 33 */ = __a_1_real_406[31] /* 33 */ ;
assign __expn_416 /* 34 */ = __a_1_real_406[30:23] /* 34 */ ;
assign __mant_418[22:0] /* 35 */ = __a_1_real_406[22:0] /* 35 */ ;
assign __mant_418[23] /* 36 */ = __norms_427[0] /* 36 */ ;
assign __expn_d_417 /* 37 */ = __expn_416+!__norms_427[0] /* 37 */ ;
assign __shift_num_429 /* 38 */ = __expn_aln_428-__expn_d_417 /* 38 */ ;
assign __cond_430 /* 242 */ = 0==__shift_num_429 /* 242 */ ;
assign __cond_431 /* 242 */ = 1==__shift_num_429 /* 242 */ ;
assign __cond_432 /* 242 */ = 2==__shift_num_429 /* 242 */ ;
assign __cond_433 /* 242 */ = 3==__shift_num_429 /* 242 */ ;
assign __cond_434 /* 242 */ = 4==__shift_num_429 /* 242 */ ;
assign __cond_435 /* 242 */ = 5==__shift_num_429 /* 242 */ ;
assign __cond_436 /* 242 */ = 6==__shift_num_429 /* 242 */ ;
assign __cond_437 /* 242 */ = 7==__shift_num_429 /* 242 */ ;
assign __cond_438 /* 242 */ = 8==__shift_num_429 /* 242 */ ;
assign __cond_439 /* 242 */ = 9==__shift_num_429 /* 242 */ ;
assign __cond_440 /* 242 */ = 10==__shift_num_429 /* 242 */ ;
assign __cond_441 /* 242 */ = 11==__shift_num_429 /* 242 */ ;
assign __cond_442 /* 242 */ = 12==__shift_num_429 /* 242 */ ;
assign __cond_443 /* 242 */ = 13==__shift_num_429 /* 242 */ ;
assign __cond_444 /* 242 */ = 14==__shift_num_429 /* 242 */ ;
assign __cond_445 /* 242 */ = 15==__shift_num_429 /* 242 */ ;
assign __cond_446 /* 242 */ = 16==__shift_num_429 /* 242 */ ;
assign __cond_447 /* 242 */ = 17==__shift_num_429 /* 242 */ ;
assign __cond_448 /* 242 */ = 18==__shift_num_429 /* 242 */ ;
assign __cond_449 /* 242 */ = 19==__shift_num_429 /* 242 */ ;
assign __cond_450 /* 242 */ = 20==__shift_num_429 /* 242 */ ;
assign __cond_451 /* 242 */ = 21==__shift_num_429 /* 242 */ ;
assign __cond_452 /* 242 */ = 22==__shift_num_429 /* 242 */ ;
assign __cond_453 /* 242 */ = 23==__shift_num_429 /* 242 */ ;
assign __mant_sft_419 /* 39 */ = (__shift_num_429<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_430} }&((__mant_418>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_431} }&((__mant_418>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_432} }&((__mant_418>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_433} }&((__mant_418>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_434} }&((__mant_418>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_435} }&((__mant_418>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_436} }&((__mant_418>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_437} }&((__mant_418>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_438} }&((__mant_418>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_439} }&((__mant_418>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_440} }&((__mant_418>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_441} }&((__mant_418>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_442} }&((__mant_418>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_443} }&((__mant_418>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_444} }&((__mant_418>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_445} }&((__mant_418>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_446} }&((__mant_418>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_447} }&((__mant_418>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_448} }&((__mant_418>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_449} }&((__mant_418>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_450} }&((__mant_418>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_451} }&((__mant_418>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_452} }&((__mant_418>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_453} }&((__mant_418>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_420 /* 47 */ = (__sign_415 /* 48 */ )?(~__mant_sft_419 /* 48 */ ):__mant_sft_419 /* 49 */  /* 49 */ ;
assign __norms_427[1] /* 32 */ = (|(__expn_422)) /* 32 */ ;
assign __sign_421 /* 33 */ = __a_2_real_408[31] /* 33 */ ;
assign __expn_422 /* 34 */ = __a_2_real_408[30:23] /* 34 */ ;
assign __mant_424[22:0] /* 35 */ = __a_2_real_408[22:0] /* 35 */ ;
assign __mant_424[23] /* 36 */ = __norms_427[1] /* 36 */ ;
assign __expn_d_423 /* 37 */ = __expn_422+!__norms_427[1] /* 37 */ ;
assign __shift_num_454 /* 38 */ = __expn_aln_428-__expn_d_423 /* 38 */ ;
assign __cond_455 /* 242 */ = 0==__shift_num_454 /* 242 */ ;
assign __cond_456 /* 242 */ = 1==__shift_num_454 /* 242 */ ;
assign __cond_457 /* 242 */ = 2==__shift_num_454 /* 242 */ ;
assign __cond_458 /* 242 */ = 3==__shift_num_454 /* 242 */ ;
assign __cond_459 /* 242 */ = 4==__shift_num_454 /* 242 */ ;
assign __cond_460 /* 242 */ = 5==__shift_num_454 /* 242 */ ;
assign __cond_461 /* 242 */ = 6==__shift_num_454 /* 242 */ ;
assign __cond_462 /* 242 */ = 7==__shift_num_454 /* 242 */ ;
assign __cond_463 /* 242 */ = 8==__shift_num_454 /* 242 */ ;
assign __cond_464 /* 242 */ = 9==__shift_num_454 /* 242 */ ;
assign __cond_465 /* 242 */ = 10==__shift_num_454 /* 242 */ ;
assign __cond_466 /* 242 */ = 11==__shift_num_454 /* 242 */ ;
assign __cond_467 /* 242 */ = 12==__shift_num_454 /* 242 */ ;
assign __cond_468 /* 242 */ = 13==__shift_num_454 /* 242 */ ;
assign __cond_469 /* 242 */ = 14==__shift_num_454 /* 242 */ ;
assign __cond_470 /* 242 */ = 15==__shift_num_454 /* 242 */ ;
assign __cond_471 /* 242 */ = 16==__shift_num_454 /* 242 */ ;
assign __cond_472 /* 242 */ = 17==__shift_num_454 /* 242 */ ;
assign __cond_473 /* 242 */ = 18==__shift_num_454 /* 242 */ ;
assign __cond_474 /* 242 */ = 19==__shift_num_454 /* 242 */ ;
assign __cond_475 /* 242 */ = 20==__shift_num_454 /* 242 */ ;
assign __cond_476 /* 242 */ = 21==__shift_num_454 /* 242 */ ;
assign __cond_477 /* 242 */ = 22==__shift_num_454 /* 242 */ ;
assign __cond_478 /* 242 */ = 23==__shift_num_454 /* 242 */ ;
assign __mant_sft_425 /* 39 */ = (__shift_num_454<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_455} }&((__mant_424>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_456} }&((__mant_424>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_457} }&((__mant_424>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_458} }&((__mant_424>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_459} }&((__mant_424>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_460} }&((__mant_424>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_461} }&((__mant_424>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_462} }&((__mant_424>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_463} }&((__mant_424>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_464} }&((__mant_424>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_465} }&((__mant_424>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_466} }&((__mant_424>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_467} }&((__mant_424>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_468} }&((__mant_424>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_469} }&((__mant_424>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_470} }&((__mant_424>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_471} }&((__mant_424>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_472} }&((__mant_424>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_473} }&((__mant_424>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_474} }&((__mant_424>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_475} }&((__mant_424>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_476} }&((__mant_424>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_477} }&((__mant_424>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_478} }&((__mant_424>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_426 /* 47 */ = (__sign_421 /* 48 */ )?(~__mant_sft_425 /* 48 */ ):__mant_sft_425 /* 49 */  /* 49 */ ;
assign ___s_reg_414[34:27] /* 51 */ = (__ctrl_valid_111 /* 52 */ )?(__expn_aln_428 /* 53 */ ):__s_reg_414[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_414[26:0] /* 57 */ = (__ctrl_valid_111 /* 58 */ )?(__mant_sgn_420+__mant_sgn_426+__sign_415+__sign_421 /* 59 */ ):__s_reg_414[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_479 /* 63 */ = __expn_d_423-__expn_d_417 /* 63 */ ;
assign __expn_aln_428 /* 64 */ = (__expn_dif_479[8] /* 65 */ )?(__expn_d_417 /* 66 */ ):__expn_d_423 /* 68 */  /* 67 */ ;
assign __expn_10r_480 /* 70 */ = __s_reg_414[34:27] /* 70 */ ;
assign __mant_10_481 /* 71 */ = __s_reg_414[26:0] /* 71 */ ;
assign __mant_10_abs_482 /* 73 */ = (__mant_10_481[26] /* 74 */ )?(~__mant_10_481 /* 74 */ ):__mant_10_481 /* 75 */  /* 75 */ ;
assign __mant_padded_483 /* 77 */ = { __mant_10_abs_482,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_485 /* 82 */ = !__mant_10_abs_482 /* 82 */ ;
assign __lead_zeros_484 /* 84 */ = (__mant_10_abs_482[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_482[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_486 /* 93 */ = __expn_10r_480+2-__lead_zeros_484 /* 93 */ ;
assign __sum_sign_487 /* 94 */ = __mant_10_481[26] /* 94 */ ;
assign __sum_expn_488 /* 95 */ = (__all_zero_485||__expn_sft_486[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_486[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_486[7:0] /* 98 */  /* 98 */ ;
assign __cond_490 /* 242 */ = 0==__lead_zeros_484 /* 242 */ ;
assign __cond_491 /* 242 */ = 1==__lead_zeros_484 /* 242 */ ;
assign __cond_492 /* 242 */ = 2==__lead_zeros_484 /* 242 */ ;
assign __cond_493 /* 242 */ = 3==__lead_zeros_484 /* 242 */ ;
assign __cond_494 /* 242 */ = 4==__lead_zeros_484 /* 242 */ ;
assign __cond_495 /* 242 */ = 5==__lead_zeros_484 /* 242 */ ;
assign __cond_496 /* 242 */ = 6==__lead_zeros_484 /* 242 */ ;
assign __cond_497 /* 242 */ = 7==__lead_zeros_484 /* 242 */ ;
assign __cond_498 /* 242 */ = 8==__lead_zeros_484 /* 242 */ ;
assign __cond_499 /* 242 */ = 9==__lead_zeros_484 /* 242 */ ;
assign __cond_500 /* 242 */ = 10==__lead_zeros_484 /* 242 */ ;
assign __cond_501 /* 242 */ = 11==__lead_zeros_484 /* 242 */ ;
assign __cond_502 /* 242 */ = 12==__lead_zeros_484 /* 242 */ ;
assign __cond_503 /* 242 */ = 13==__lead_zeros_484 /* 242 */ ;
assign __cond_504 /* 242 */ = 14==__lead_zeros_484 /* 242 */ ;
assign __cond_505 /* 242 */ = 15==__lead_zeros_484 /* 242 */ ;
assign __cond_506 /* 242 */ = 16==__lead_zeros_484 /* 242 */ ;
assign __cond_507 /* 242 */ = 17==__lead_zeros_484 /* 242 */ ;
assign __cond_508 /* 242 */ = 18==__lead_zeros_484 /* 242 */ ;
assign __cond_509 /* 242 */ = 19==__lead_zeros_484 /* 242 */ ;
assign __cond_510 /* 242 */ = 20==__lead_zeros_484 /* 242 */ ;
assign __cond_511 /* 242 */ = 21==__lead_zeros_484 /* 242 */ ;
assign __cond_512 /* 242 */ = 22==__lead_zeros_484 /* 242 */ ;
assign __cond_513 /* 242 */ = 23==__lead_zeros_484 /* 242 */ ;
assign __cond_514 /* 242 */ = 24==__lead_zeros_484 /* 242 */ ;
assign __cond_515 /* 242 */ = 25==__lead_zeros_484 /* 242 */ ;
assign __sum_mant_489 /* 100 */ = (__all_zero_485 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_490} }&((__mant_padded_483[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_491} }&((__mant_padded_483[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_492} }&((__mant_padded_483[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_493} }&((__mant_padded_483[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_494} }&((__mant_padded_483[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_495} }&((__mant_padded_483[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_496} }&((__mant_padded_483[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_497} }&((__mant_padded_483[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_498} }&((__mant_padded_483[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_499} }&((__mant_padded_483[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_500} }&((__mant_padded_483[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_501} }&((__mant_padded_483[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_502} }&((__mant_padded_483[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_503} }&((__mant_padded_483[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_504} }&((__mant_padded_483[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_505} }&((__mant_padded_483[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_506} }&((__mant_padded_483[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_507} }&((__mant_padded_483[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_508} }&((__mant_padded_483[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_509} }&((__mant_padded_483[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_510} }&((__mant_padded_483[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_511} }&((__mant_padded_483[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_512} }&((__mant_padded_483[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_513} }&((__mant_padded_483[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_514} }&((__mant_padded_483[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_515} }&((__mant_padded_483[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_413[31] /* 108 */ = __sum_sign_487 /* 108 */ ;
assign __result_413[30:23] /* 109 */ = __sum_expn_488 /* 109 */ ;
assign __result_413[22:0] /* 110 */ = __sum_mant_489 /* 110 */ ;
assign __sum_real_410 /* 171 */ = (__result_413 /* 111 */ ) /* 171 */ ;
assign __norms_530[0] /* 32 */ = (|(__expn_519)) /* 32 */ ;
assign __sign_518 /* 33 */ = __a_1_imag_407[31] /* 33 */ ;
assign __expn_519 /* 34 */ = __a_1_imag_407[30:23] /* 34 */ ;
assign __mant_521[22:0] /* 35 */ = __a_1_imag_407[22:0] /* 35 */ ;
assign __mant_521[23] /* 36 */ = __norms_530[0] /* 36 */ ;
assign __expn_d_520 /* 37 */ = __expn_519+!__norms_530[0] /* 37 */ ;
assign __shift_num_532 /* 38 */ = __expn_aln_531-__expn_d_520 /* 38 */ ;
assign __cond_533 /* 242 */ = 0==__shift_num_532 /* 242 */ ;
assign __cond_534 /* 242 */ = 1==__shift_num_532 /* 242 */ ;
assign __cond_535 /* 242 */ = 2==__shift_num_532 /* 242 */ ;
assign __cond_536 /* 242 */ = 3==__shift_num_532 /* 242 */ ;
assign __cond_537 /* 242 */ = 4==__shift_num_532 /* 242 */ ;
assign __cond_538 /* 242 */ = 5==__shift_num_532 /* 242 */ ;
assign __cond_539 /* 242 */ = 6==__shift_num_532 /* 242 */ ;
assign __cond_540 /* 242 */ = 7==__shift_num_532 /* 242 */ ;
assign __cond_541 /* 242 */ = 8==__shift_num_532 /* 242 */ ;
assign __cond_542 /* 242 */ = 9==__shift_num_532 /* 242 */ ;
assign __cond_543 /* 242 */ = 10==__shift_num_532 /* 242 */ ;
assign __cond_544 /* 242 */ = 11==__shift_num_532 /* 242 */ ;
assign __cond_545 /* 242 */ = 12==__shift_num_532 /* 242 */ ;
assign __cond_546 /* 242 */ = 13==__shift_num_532 /* 242 */ ;
assign __cond_547 /* 242 */ = 14==__shift_num_532 /* 242 */ ;
assign __cond_548 /* 242 */ = 15==__shift_num_532 /* 242 */ ;
assign __cond_549 /* 242 */ = 16==__shift_num_532 /* 242 */ ;
assign __cond_550 /* 242 */ = 17==__shift_num_532 /* 242 */ ;
assign __cond_551 /* 242 */ = 18==__shift_num_532 /* 242 */ ;
assign __cond_552 /* 242 */ = 19==__shift_num_532 /* 242 */ ;
assign __cond_553 /* 242 */ = 20==__shift_num_532 /* 242 */ ;
assign __cond_554 /* 242 */ = 21==__shift_num_532 /* 242 */ ;
assign __cond_555 /* 242 */ = 22==__shift_num_532 /* 242 */ ;
assign __cond_556 /* 242 */ = 23==__shift_num_532 /* 242 */ ;
assign __mant_sft_522 /* 39 */ = (__shift_num_532<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_533} }&((__mant_521>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_534} }&((__mant_521>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_535} }&((__mant_521>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_536} }&((__mant_521>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_537} }&((__mant_521>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_538} }&((__mant_521>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_539} }&((__mant_521>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_540} }&((__mant_521>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_541} }&((__mant_521>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_542} }&((__mant_521>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_543} }&((__mant_521>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_544} }&((__mant_521>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_545} }&((__mant_521>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_546} }&((__mant_521>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_547} }&((__mant_521>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_548} }&((__mant_521>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_549} }&((__mant_521>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_550} }&((__mant_521>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_551} }&((__mant_521>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_552} }&((__mant_521>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_553} }&((__mant_521>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_554} }&((__mant_521>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_555} }&((__mant_521>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_556} }&((__mant_521>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_523 /* 47 */ = (__sign_518 /* 48 */ )?(~__mant_sft_522 /* 48 */ ):__mant_sft_522 /* 49 */  /* 49 */ ;
assign __norms_530[1] /* 32 */ = (|(__expn_525)) /* 32 */ ;
assign __sign_524 /* 33 */ = __a_2_imag_409[31] /* 33 */ ;
assign __expn_525 /* 34 */ = __a_2_imag_409[30:23] /* 34 */ ;
assign __mant_527[22:0] /* 35 */ = __a_2_imag_409[22:0] /* 35 */ ;
assign __mant_527[23] /* 36 */ = __norms_530[1] /* 36 */ ;
assign __expn_d_526 /* 37 */ = __expn_525+!__norms_530[1] /* 37 */ ;
assign __shift_num_557 /* 38 */ = __expn_aln_531-__expn_d_526 /* 38 */ ;
assign __cond_558 /* 242 */ = 0==__shift_num_557 /* 242 */ ;
assign __cond_559 /* 242 */ = 1==__shift_num_557 /* 242 */ ;
assign __cond_560 /* 242 */ = 2==__shift_num_557 /* 242 */ ;
assign __cond_561 /* 242 */ = 3==__shift_num_557 /* 242 */ ;
assign __cond_562 /* 242 */ = 4==__shift_num_557 /* 242 */ ;
assign __cond_563 /* 242 */ = 5==__shift_num_557 /* 242 */ ;
assign __cond_564 /* 242 */ = 6==__shift_num_557 /* 242 */ ;
assign __cond_565 /* 242 */ = 7==__shift_num_557 /* 242 */ ;
assign __cond_566 /* 242 */ = 8==__shift_num_557 /* 242 */ ;
assign __cond_567 /* 242 */ = 9==__shift_num_557 /* 242 */ ;
assign __cond_568 /* 242 */ = 10==__shift_num_557 /* 242 */ ;
assign __cond_569 /* 242 */ = 11==__shift_num_557 /* 242 */ ;
assign __cond_570 /* 242 */ = 12==__shift_num_557 /* 242 */ ;
assign __cond_571 /* 242 */ = 13==__shift_num_557 /* 242 */ ;
assign __cond_572 /* 242 */ = 14==__shift_num_557 /* 242 */ ;
assign __cond_573 /* 242 */ = 15==__shift_num_557 /* 242 */ ;
assign __cond_574 /* 242 */ = 16==__shift_num_557 /* 242 */ ;
assign __cond_575 /* 242 */ = 17==__shift_num_557 /* 242 */ ;
assign __cond_576 /* 242 */ = 18==__shift_num_557 /* 242 */ ;
assign __cond_577 /* 242 */ = 19==__shift_num_557 /* 242 */ ;
assign __cond_578 /* 242 */ = 20==__shift_num_557 /* 242 */ ;
assign __cond_579 /* 242 */ = 21==__shift_num_557 /* 242 */ ;
assign __cond_580 /* 242 */ = 22==__shift_num_557 /* 242 */ ;
assign __cond_581 /* 242 */ = 23==__shift_num_557 /* 242 */ ;
assign __mant_sft_528 /* 39 */ = (__shift_num_557<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_558} }&((__mant_527>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_559} }&((__mant_527>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_560} }&((__mant_527>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_561} }&((__mant_527>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_562} }&((__mant_527>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_563} }&((__mant_527>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_564} }&((__mant_527>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_565} }&((__mant_527>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_566} }&((__mant_527>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_567} }&((__mant_527>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_568} }&((__mant_527>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_569} }&((__mant_527>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_570} }&((__mant_527>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_571} }&((__mant_527>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_572} }&((__mant_527>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_573} }&((__mant_527>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_574} }&((__mant_527>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_575} }&((__mant_527>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_576} }&((__mant_527>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_577} }&((__mant_527>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_578} }&((__mant_527>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_579} }&((__mant_527>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_580} }&((__mant_527>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_581} }&((__mant_527>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_529 /* 47 */ = (__sign_524 /* 48 */ )?(~__mant_sft_528 /* 48 */ ):__mant_sft_528 /* 49 */  /* 49 */ ;
assign ___s_reg_517[34:27] /* 51 */ = (__ctrl_valid_111 /* 52 */ )?(__expn_aln_531 /* 53 */ ):__s_reg_517[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_517[26:0] /* 57 */ = (__ctrl_valid_111 /* 58 */ )?(__mant_sgn_523+__mant_sgn_529+__sign_518+__sign_524 /* 59 */ ):__s_reg_517[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_582 /* 63 */ = __expn_d_526-__expn_d_520 /* 63 */ ;
assign __expn_aln_531 /* 64 */ = (__expn_dif_582[8] /* 65 */ )?(__expn_d_520 /* 66 */ ):__expn_d_526 /* 68 */  /* 67 */ ;
assign __expn_10r_583 /* 70 */ = __s_reg_517[34:27] /* 70 */ ;
assign __mant_10_584 /* 71 */ = __s_reg_517[26:0] /* 71 */ ;
assign __mant_10_abs_585 /* 73 */ = (__mant_10_584[26] /* 74 */ )?(~__mant_10_584 /* 74 */ ):__mant_10_584 /* 75 */  /* 75 */ ;
assign __mant_padded_586 /* 77 */ = { __mant_10_abs_585,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_588 /* 82 */ = !__mant_10_abs_585 /* 82 */ ;
assign __lead_zeros_587 /* 84 */ = (__mant_10_abs_585[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_585[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_589 /* 93 */ = __expn_10r_583+2-__lead_zeros_587 /* 93 */ ;
assign __sum_sign_590 /* 94 */ = __mant_10_584[26] /* 94 */ ;
assign __sum_expn_591 /* 95 */ = (__all_zero_588||__expn_sft_589[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_589[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_589[7:0] /* 98 */  /* 98 */ ;
assign __cond_593 /* 242 */ = 0==__lead_zeros_587 /* 242 */ ;
assign __cond_594 /* 242 */ = 1==__lead_zeros_587 /* 242 */ ;
assign __cond_595 /* 242 */ = 2==__lead_zeros_587 /* 242 */ ;
assign __cond_596 /* 242 */ = 3==__lead_zeros_587 /* 242 */ ;
assign __cond_597 /* 242 */ = 4==__lead_zeros_587 /* 242 */ ;
assign __cond_598 /* 242 */ = 5==__lead_zeros_587 /* 242 */ ;
assign __cond_599 /* 242 */ = 6==__lead_zeros_587 /* 242 */ ;
assign __cond_600 /* 242 */ = 7==__lead_zeros_587 /* 242 */ ;
assign __cond_601 /* 242 */ = 8==__lead_zeros_587 /* 242 */ ;
assign __cond_602 /* 242 */ = 9==__lead_zeros_587 /* 242 */ ;
assign __cond_603 /* 242 */ = 10==__lead_zeros_587 /* 242 */ ;
assign __cond_604 /* 242 */ = 11==__lead_zeros_587 /* 242 */ ;
assign __cond_605 /* 242 */ = 12==__lead_zeros_587 /* 242 */ ;
assign __cond_606 /* 242 */ = 13==__lead_zeros_587 /* 242 */ ;
assign __cond_607 /* 242 */ = 14==__lead_zeros_587 /* 242 */ ;
assign __cond_608 /* 242 */ = 15==__lead_zeros_587 /* 242 */ ;
assign __cond_609 /* 242 */ = 16==__lead_zeros_587 /* 242 */ ;
assign __cond_610 /* 242 */ = 17==__lead_zeros_587 /* 242 */ ;
assign __cond_611 /* 242 */ = 18==__lead_zeros_587 /* 242 */ ;
assign __cond_612 /* 242 */ = 19==__lead_zeros_587 /* 242 */ ;
assign __cond_613 /* 242 */ = 20==__lead_zeros_587 /* 242 */ ;
assign __cond_614 /* 242 */ = 21==__lead_zeros_587 /* 242 */ ;
assign __cond_615 /* 242 */ = 22==__lead_zeros_587 /* 242 */ ;
assign __cond_616 /* 242 */ = 23==__lead_zeros_587 /* 242 */ ;
assign __cond_617 /* 242 */ = 24==__lead_zeros_587 /* 242 */ ;
assign __cond_618 /* 242 */ = 25==__lead_zeros_587 /* 242 */ ;
assign __sum_mant_592 /* 100 */ = (__all_zero_588 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_593} }&((__mant_padded_586[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_594} }&((__mant_padded_586[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_595} }&((__mant_padded_586[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_596} }&((__mant_padded_586[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_597} }&((__mant_padded_586[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_598} }&((__mant_padded_586[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_599} }&((__mant_padded_586[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_600} }&((__mant_padded_586[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_601} }&((__mant_padded_586[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_602} }&((__mant_padded_586[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_603} }&((__mant_padded_586[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_604} }&((__mant_padded_586[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_605} }&((__mant_padded_586[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_606} }&((__mant_padded_586[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_607} }&((__mant_padded_586[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_608} }&((__mant_padded_586[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_609} }&((__mant_padded_586[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_610} }&((__mant_padded_586[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_611} }&((__mant_padded_586[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_612} }&((__mant_padded_586[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_613} }&((__mant_padded_586[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_614} }&((__mant_padded_586[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_615} }&((__mant_padded_586[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_616} }&((__mant_padded_586[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_617} }&((__mant_padded_586[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_618} }&((__mant_padded_586[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_516[31] /* 108 */ = __sum_sign_590 /* 108 */ ;
assign __result_516[30:23] /* 109 */ = __sum_expn_591 /* 109 */ ;
assign __result_516[22:0] /* 110 */ = __sum_mant_592 /* 110 */ ;
assign __sum_imag_411 /* 172 */ = (__result_516 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_412 /* 174 */ = (__ctrl_valid_115 /* 175 */ )?({ __sum_real_410,__sum_imag_411 } /* 176 */ ):__complex_sum_412 /* 178 */  /* 177 */ ;
assign __out_add_151 /* 550 */ = (__complex_sum_412 /* 180 */ ) /* 550 */ ;
assign __a_1_real_619 /* 163 */ = __t_153[63:32] /* 163 */ ;
assign __a_1_imag_620 /* 164 */ = __t_153[31:0] /* 164 */ ;
assign __a_2_real_621 /* 166 */ = __neg_e_405[63:32] /* 166 */ ;
assign __a_2_imag_622 /* 167 */ = __neg_e_405[31:0] /* 167 */ ;
assign __norms_640[0] /* 32 */ = (|(__expn_629)) /* 32 */ ;
assign __sign_628 /* 33 */ = __a_1_real_619[31] /* 33 */ ;
assign __expn_629 /* 34 */ = __a_1_real_619[30:23] /* 34 */ ;
assign __mant_631[22:0] /* 35 */ = __a_1_real_619[22:0] /* 35 */ ;
assign __mant_631[23] /* 36 */ = __norms_640[0] /* 36 */ ;
assign __expn_d_630 /* 37 */ = __expn_629+!__norms_640[0] /* 37 */ ;
assign __shift_num_642 /* 38 */ = __expn_aln_641-__expn_d_630 /* 38 */ ;
assign __cond_643 /* 242 */ = 0==__shift_num_642 /* 242 */ ;
assign __cond_644 /* 242 */ = 1==__shift_num_642 /* 242 */ ;
assign __cond_645 /* 242 */ = 2==__shift_num_642 /* 242 */ ;
assign __cond_646 /* 242 */ = 3==__shift_num_642 /* 242 */ ;
assign __cond_647 /* 242 */ = 4==__shift_num_642 /* 242 */ ;
assign __cond_648 /* 242 */ = 5==__shift_num_642 /* 242 */ ;
assign __cond_649 /* 242 */ = 6==__shift_num_642 /* 242 */ ;
assign __cond_650 /* 242 */ = 7==__shift_num_642 /* 242 */ ;
assign __cond_651 /* 242 */ = 8==__shift_num_642 /* 242 */ ;
assign __cond_652 /* 242 */ = 9==__shift_num_642 /* 242 */ ;
assign __cond_653 /* 242 */ = 10==__shift_num_642 /* 242 */ ;
assign __cond_654 /* 242 */ = 11==__shift_num_642 /* 242 */ ;
assign __cond_655 /* 242 */ = 12==__shift_num_642 /* 242 */ ;
assign __cond_656 /* 242 */ = 13==__shift_num_642 /* 242 */ ;
assign __cond_657 /* 242 */ = 14==__shift_num_642 /* 242 */ ;
assign __cond_658 /* 242 */ = 15==__shift_num_642 /* 242 */ ;
assign __cond_659 /* 242 */ = 16==__shift_num_642 /* 242 */ ;
assign __cond_660 /* 242 */ = 17==__shift_num_642 /* 242 */ ;
assign __cond_661 /* 242 */ = 18==__shift_num_642 /* 242 */ ;
assign __cond_662 /* 242 */ = 19==__shift_num_642 /* 242 */ ;
assign __cond_663 /* 242 */ = 20==__shift_num_642 /* 242 */ ;
assign __cond_664 /* 242 */ = 21==__shift_num_642 /* 242 */ ;
assign __cond_665 /* 242 */ = 22==__shift_num_642 /* 242 */ ;
assign __cond_666 /* 242 */ = 23==__shift_num_642 /* 242 */ ;
assign __mant_sft_632 /* 39 */ = (__shift_num_642<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_643} }&((__mant_631>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_644} }&((__mant_631>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_645} }&((__mant_631>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_646} }&((__mant_631>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_647} }&((__mant_631>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_648} }&((__mant_631>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_649} }&((__mant_631>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_650} }&((__mant_631>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_651} }&((__mant_631>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_652} }&((__mant_631>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_653} }&((__mant_631>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_654} }&((__mant_631>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_655} }&((__mant_631>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_656} }&((__mant_631>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_657} }&((__mant_631>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_658} }&((__mant_631>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_659} }&((__mant_631>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_660} }&((__mant_631>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_661} }&((__mant_631>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_662} }&((__mant_631>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_663} }&((__mant_631>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_664} }&((__mant_631>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_665} }&((__mant_631>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_666} }&((__mant_631>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_633 /* 47 */ = (__sign_628 /* 48 */ )?(~__mant_sft_632 /* 48 */ ):__mant_sft_632 /* 49 */  /* 49 */ ;
assign __norms_640[1] /* 32 */ = (|(__expn_635)) /* 32 */ ;
assign __sign_634 /* 33 */ = __a_2_real_621[31] /* 33 */ ;
assign __expn_635 /* 34 */ = __a_2_real_621[30:23] /* 34 */ ;
assign __mant_637[22:0] /* 35 */ = __a_2_real_621[22:0] /* 35 */ ;
assign __mant_637[23] /* 36 */ = __norms_640[1] /* 36 */ ;
assign __expn_d_636 /* 37 */ = __expn_635+!__norms_640[1] /* 37 */ ;
assign __shift_num_667 /* 38 */ = __expn_aln_641-__expn_d_636 /* 38 */ ;
assign __cond_668 /* 242 */ = 0==__shift_num_667 /* 242 */ ;
assign __cond_669 /* 242 */ = 1==__shift_num_667 /* 242 */ ;
assign __cond_670 /* 242 */ = 2==__shift_num_667 /* 242 */ ;
assign __cond_671 /* 242 */ = 3==__shift_num_667 /* 242 */ ;
assign __cond_672 /* 242 */ = 4==__shift_num_667 /* 242 */ ;
assign __cond_673 /* 242 */ = 5==__shift_num_667 /* 242 */ ;
assign __cond_674 /* 242 */ = 6==__shift_num_667 /* 242 */ ;
assign __cond_675 /* 242 */ = 7==__shift_num_667 /* 242 */ ;
assign __cond_676 /* 242 */ = 8==__shift_num_667 /* 242 */ ;
assign __cond_677 /* 242 */ = 9==__shift_num_667 /* 242 */ ;
assign __cond_678 /* 242 */ = 10==__shift_num_667 /* 242 */ ;
assign __cond_679 /* 242 */ = 11==__shift_num_667 /* 242 */ ;
assign __cond_680 /* 242 */ = 12==__shift_num_667 /* 242 */ ;
assign __cond_681 /* 242 */ = 13==__shift_num_667 /* 242 */ ;
assign __cond_682 /* 242 */ = 14==__shift_num_667 /* 242 */ ;
assign __cond_683 /* 242 */ = 15==__shift_num_667 /* 242 */ ;
assign __cond_684 /* 242 */ = 16==__shift_num_667 /* 242 */ ;
assign __cond_685 /* 242 */ = 17==__shift_num_667 /* 242 */ ;
assign __cond_686 /* 242 */ = 18==__shift_num_667 /* 242 */ ;
assign __cond_687 /* 242 */ = 19==__shift_num_667 /* 242 */ ;
assign __cond_688 /* 242 */ = 20==__shift_num_667 /* 242 */ ;
assign __cond_689 /* 242 */ = 21==__shift_num_667 /* 242 */ ;
assign __cond_690 /* 242 */ = 22==__shift_num_667 /* 242 */ ;
assign __cond_691 /* 242 */ = 23==__shift_num_667 /* 242 */ ;
assign __mant_sft_638 /* 39 */ = (__shift_num_667<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_668} }&((__mant_637>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_669} }&((__mant_637>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_670} }&((__mant_637>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_671} }&((__mant_637>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_672} }&((__mant_637>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_673} }&((__mant_637>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_674} }&((__mant_637>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_675} }&((__mant_637>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_676} }&((__mant_637>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_677} }&((__mant_637>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_678} }&((__mant_637>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_679} }&((__mant_637>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_680} }&((__mant_637>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_681} }&((__mant_637>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_682} }&((__mant_637>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_683} }&((__mant_637>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_684} }&((__mant_637>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_685} }&((__mant_637>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_686} }&((__mant_637>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_687} }&((__mant_637>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_688} }&((__mant_637>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_689} }&((__mant_637>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_690} }&((__mant_637>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_691} }&((__mant_637>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_639 /* 47 */ = (__sign_634 /* 48 */ )?(~__mant_sft_638 /* 48 */ ):__mant_sft_638 /* 49 */  /* 49 */ ;
assign ___s_reg_627[34:27] /* 51 */ = (__ctrl_valid_111 /* 52 */ )?(__expn_aln_641 /* 53 */ ):__s_reg_627[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_627[26:0] /* 57 */ = (__ctrl_valid_111 /* 58 */ )?(__mant_sgn_633+__mant_sgn_639+__sign_628+__sign_634 /* 59 */ ):__s_reg_627[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_692 /* 63 */ = __expn_d_636-__expn_d_630 /* 63 */ ;
assign __expn_aln_641 /* 64 */ = (__expn_dif_692[8] /* 65 */ )?(__expn_d_630 /* 66 */ ):__expn_d_636 /* 68 */  /* 67 */ ;
assign __expn_10r_693 /* 70 */ = __s_reg_627[34:27] /* 70 */ ;
assign __mant_10_694 /* 71 */ = __s_reg_627[26:0] /* 71 */ ;
assign __mant_10_abs_695 /* 73 */ = (__mant_10_694[26] /* 74 */ )?(~__mant_10_694 /* 74 */ ):__mant_10_694 /* 75 */  /* 75 */ ;
assign __mant_padded_696 /* 77 */ = { __mant_10_abs_695,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_698 /* 82 */ = !__mant_10_abs_695 /* 82 */ ;
assign __lead_zeros_697 /* 84 */ = (__mant_10_abs_695[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_695[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_699 /* 93 */ = __expn_10r_693+2-__lead_zeros_697 /* 93 */ ;
assign __sum_sign_700 /* 94 */ = __mant_10_694[26] /* 94 */ ;
assign __sum_expn_701 /* 95 */ = (__all_zero_698||__expn_sft_699[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_699[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_699[7:0] /* 98 */  /* 98 */ ;
assign __cond_703 /* 242 */ = 0==__lead_zeros_697 /* 242 */ ;
assign __cond_704 /* 242 */ = 1==__lead_zeros_697 /* 242 */ ;
assign __cond_705 /* 242 */ = 2==__lead_zeros_697 /* 242 */ ;
assign __cond_706 /* 242 */ = 3==__lead_zeros_697 /* 242 */ ;
assign __cond_707 /* 242 */ = 4==__lead_zeros_697 /* 242 */ ;
assign __cond_708 /* 242 */ = 5==__lead_zeros_697 /* 242 */ ;
assign __cond_709 /* 242 */ = 6==__lead_zeros_697 /* 242 */ ;
assign __cond_710 /* 242 */ = 7==__lead_zeros_697 /* 242 */ ;
assign __cond_711 /* 242 */ = 8==__lead_zeros_697 /* 242 */ ;
assign __cond_712 /* 242 */ = 9==__lead_zeros_697 /* 242 */ ;
assign __cond_713 /* 242 */ = 10==__lead_zeros_697 /* 242 */ ;
assign __cond_714 /* 242 */ = 11==__lead_zeros_697 /* 242 */ ;
assign __cond_715 /* 242 */ = 12==__lead_zeros_697 /* 242 */ ;
assign __cond_716 /* 242 */ = 13==__lead_zeros_697 /* 242 */ ;
assign __cond_717 /* 242 */ = 14==__lead_zeros_697 /* 242 */ ;
assign __cond_718 /* 242 */ = 15==__lead_zeros_697 /* 242 */ ;
assign __cond_719 /* 242 */ = 16==__lead_zeros_697 /* 242 */ ;
assign __cond_720 /* 242 */ = 17==__lead_zeros_697 /* 242 */ ;
assign __cond_721 /* 242 */ = 18==__lead_zeros_697 /* 242 */ ;
assign __cond_722 /* 242 */ = 19==__lead_zeros_697 /* 242 */ ;
assign __cond_723 /* 242 */ = 20==__lead_zeros_697 /* 242 */ ;
assign __cond_724 /* 242 */ = 21==__lead_zeros_697 /* 242 */ ;
assign __cond_725 /* 242 */ = 22==__lead_zeros_697 /* 242 */ ;
assign __cond_726 /* 242 */ = 23==__lead_zeros_697 /* 242 */ ;
assign __cond_727 /* 242 */ = 24==__lead_zeros_697 /* 242 */ ;
assign __cond_728 /* 242 */ = 25==__lead_zeros_697 /* 242 */ ;
assign __sum_mant_702 /* 100 */ = (__all_zero_698 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_703} }&((__mant_padded_696[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_704} }&((__mant_padded_696[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_705} }&((__mant_padded_696[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_706} }&((__mant_padded_696[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_707} }&((__mant_padded_696[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_708} }&((__mant_padded_696[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_709} }&((__mant_padded_696[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_710} }&((__mant_padded_696[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_711} }&((__mant_padded_696[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_712} }&((__mant_padded_696[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_713} }&((__mant_padded_696[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_714} }&((__mant_padded_696[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_715} }&((__mant_padded_696[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_716} }&((__mant_padded_696[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_717} }&((__mant_padded_696[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_718} }&((__mant_padded_696[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_719} }&((__mant_padded_696[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_720} }&((__mant_padded_696[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_721} }&((__mant_padded_696[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_722} }&((__mant_padded_696[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_723} }&((__mant_padded_696[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_724} }&((__mant_padded_696[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_725} }&((__mant_padded_696[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_726} }&((__mant_padded_696[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_727} }&((__mant_padded_696[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_728} }&((__mant_padded_696[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_626[31] /* 108 */ = __sum_sign_700 /* 108 */ ;
assign __result_626[30:23] /* 109 */ = __sum_expn_701 /* 109 */ ;
assign __result_626[22:0] /* 110 */ = __sum_mant_702 /* 110 */ ;
assign __sum_real_623 /* 171 */ = (__result_626 /* 111 */ ) /* 171 */ ;
assign __norms_743[0] /* 32 */ = (|(__expn_732)) /* 32 */ ;
assign __sign_731 /* 33 */ = __a_1_imag_620[31] /* 33 */ ;
assign __expn_732 /* 34 */ = __a_1_imag_620[30:23] /* 34 */ ;
assign __mant_734[22:0] /* 35 */ = __a_1_imag_620[22:0] /* 35 */ ;
assign __mant_734[23] /* 36 */ = __norms_743[0] /* 36 */ ;
assign __expn_d_733 /* 37 */ = __expn_732+!__norms_743[0] /* 37 */ ;
assign __shift_num_745 /* 38 */ = __expn_aln_744-__expn_d_733 /* 38 */ ;
assign __cond_746 /* 242 */ = 0==__shift_num_745 /* 242 */ ;
assign __cond_747 /* 242 */ = 1==__shift_num_745 /* 242 */ ;
assign __cond_748 /* 242 */ = 2==__shift_num_745 /* 242 */ ;
assign __cond_749 /* 242 */ = 3==__shift_num_745 /* 242 */ ;
assign __cond_750 /* 242 */ = 4==__shift_num_745 /* 242 */ ;
assign __cond_751 /* 242 */ = 5==__shift_num_745 /* 242 */ ;
assign __cond_752 /* 242 */ = 6==__shift_num_745 /* 242 */ ;
assign __cond_753 /* 242 */ = 7==__shift_num_745 /* 242 */ ;
assign __cond_754 /* 242 */ = 8==__shift_num_745 /* 242 */ ;
assign __cond_755 /* 242 */ = 9==__shift_num_745 /* 242 */ ;
assign __cond_756 /* 242 */ = 10==__shift_num_745 /* 242 */ ;
assign __cond_757 /* 242 */ = 11==__shift_num_745 /* 242 */ ;
assign __cond_758 /* 242 */ = 12==__shift_num_745 /* 242 */ ;
assign __cond_759 /* 242 */ = 13==__shift_num_745 /* 242 */ ;
assign __cond_760 /* 242 */ = 14==__shift_num_745 /* 242 */ ;
assign __cond_761 /* 242 */ = 15==__shift_num_745 /* 242 */ ;
assign __cond_762 /* 242 */ = 16==__shift_num_745 /* 242 */ ;
assign __cond_763 /* 242 */ = 17==__shift_num_745 /* 242 */ ;
assign __cond_764 /* 242 */ = 18==__shift_num_745 /* 242 */ ;
assign __cond_765 /* 242 */ = 19==__shift_num_745 /* 242 */ ;
assign __cond_766 /* 242 */ = 20==__shift_num_745 /* 242 */ ;
assign __cond_767 /* 242 */ = 21==__shift_num_745 /* 242 */ ;
assign __cond_768 /* 242 */ = 22==__shift_num_745 /* 242 */ ;
assign __cond_769 /* 242 */ = 23==__shift_num_745 /* 242 */ ;
assign __mant_sft_735 /* 39 */ = (__shift_num_745<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_746} }&((__mant_734>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_747} }&((__mant_734>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_748} }&((__mant_734>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_749} }&((__mant_734>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_750} }&((__mant_734>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_751} }&((__mant_734>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_752} }&((__mant_734>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_753} }&((__mant_734>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_754} }&((__mant_734>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_755} }&((__mant_734>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_756} }&((__mant_734>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_757} }&((__mant_734>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_758} }&((__mant_734>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_759} }&((__mant_734>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_760} }&((__mant_734>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_761} }&((__mant_734>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_762} }&((__mant_734>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_763} }&((__mant_734>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_764} }&((__mant_734>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_765} }&((__mant_734>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_766} }&((__mant_734>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_767} }&((__mant_734>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_768} }&((__mant_734>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_769} }&((__mant_734>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_736 /* 47 */ = (__sign_731 /* 48 */ )?(~__mant_sft_735 /* 48 */ ):__mant_sft_735 /* 49 */  /* 49 */ ;
assign __norms_743[1] /* 32 */ = (|(__expn_738)) /* 32 */ ;
assign __sign_737 /* 33 */ = __a_2_imag_622[31] /* 33 */ ;
assign __expn_738 /* 34 */ = __a_2_imag_622[30:23] /* 34 */ ;
assign __mant_740[22:0] /* 35 */ = __a_2_imag_622[22:0] /* 35 */ ;
assign __mant_740[23] /* 36 */ = __norms_743[1] /* 36 */ ;
assign __expn_d_739 /* 37 */ = __expn_738+!__norms_743[1] /* 37 */ ;
assign __shift_num_770 /* 38 */ = __expn_aln_744-__expn_d_739 /* 38 */ ;
assign __cond_771 /* 242 */ = 0==__shift_num_770 /* 242 */ ;
assign __cond_772 /* 242 */ = 1==__shift_num_770 /* 242 */ ;
assign __cond_773 /* 242 */ = 2==__shift_num_770 /* 242 */ ;
assign __cond_774 /* 242 */ = 3==__shift_num_770 /* 242 */ ;
assign __cond_775 /* 242 */ = 4==__shift_num_770 /* 242 */ ;
assign __cond_776 /* 242 */ = 5==__shift_num_770 /* 242 */ ;
assign __cond_777 /* 242 */ = 6==__shift_num_770 /* 242 */ ;
assign __cond_778 /* 242 */ = 7==__shift_num_770 /* 242 */ ;
assign __cond_779 /* 242 */ = 8==__shift_num_770 /* 242 */ ;
assign __cond_780 /* 242 */ = 9==__shift_num_770 /* 242 */ ;
assign __cond_781 /* 242 */ = 10==__shift_num_770 /* 242 */ ;
assign __cond_782 /* 242 */ = 11==__shift_num_770 /* 242 */ ;
assign __cond_783 /* 242 */ = 12==__shift_num_770 /* 242 */ ;
assign __cond_784 /* 242 */ = 13==__shift_num_770 /* 242 */ ;
assign __cond_785 /* 242 */ = 14==__shift_num_770 /* 242 */ ;
assign __cond_786 /* 242 */ = 15==__shift_num_770 /* 242 */ ;
assign __cond_787 /* 242 */ = 16==__shift_num_770 /* 242 */ ;
assign __cond_788 /* 242 */ = 17==__shift_num_770 /* 242 */ ;
assign __cond_789 /* 242 */ = 18==__shift_num_770 /* 242 */ ;
assign __cond_790 /* 242 */ = 19==__shift_num_770 /* 242 */ ;
assign __cond_791 /* 242 */ = 20==__shift_num_770 /* 242 */ ;
assign __cond_792 /* 242 */ = 21==__shift_num_770 /* 242 */ ;
assign __cond_793 /* 242 */ = 22==__shift_num_770 /* 242 */ ;
assign __cond_794 /* 242 */ = 23==__shift_num_770 /* 242 */ ;
assign __mant_sft_741 /* 39 */ = (__shift_num_770<23+1 /* 43 */ )?((((((((((((((((((((((((({ 27{__cond_771} }&((__mant_740>>>0 /* 41 */ ))) /* 244 */ )|({ 27{__cond_772} }&((__mant_740>>>1 /* 41 */ ))) /* 246 */ )|({ 27{__cond_773} }&((__mant_740>>>2 /* 41 */ ))) /* 246 */ )|({ 27{__cond_774} }&((__mant_740>>>3 /* 41 */ ))) /* 246 */ )|({ 27{__cond_775} }&((__mant_740>>>4 /* 41 */ ))) /* 246 */ )|({ 27{__cond_776} }&((__mant_740>>>5 /* 41 */ ))) /* 246 */ )|({ 27{__cond_777} }&((__mant_740>>>6 /* 41 */ ))) /* 246 */ )|({ 27{__cond_778} }&((__mant_740>>>7 /* 41 */ ))) /* 246 */ )|({ 27{__cond_779} }&((__mant_740>>>8 /* 41 */ ))) /* 246 */ )|({ 27{__cond_780} }&((__mant_740>>>9 /* 41 */ ))) /* 246 */ )|({ 27{__cond_781} }&((__mant_740>>>10 /* 41 */ ))) /* 246 */ )|({ 27{__cond_782} }&((__mant_740>>>11 /* 41 */ ))) /* 246 */ )|({ 27{__cond_783} }&((__mant_740>>>12 /* 41 */ ))) /* 246 */ )|({ 27{__cond_784} }&((__mant_740>>>13 /* 41 */ ))) /* 246 */ )|({ 27{__cond_785} }&((__mant_740>>>14 /* 41 */ ))) /* 246 */ )|({ 27{__cond_786} }&((__mant_740>>>15 /* 41 */ ))) /* 246 */ )|({ 27{__cond_787} }&((__mant_740>>>16 /* 41 */ ))) /* 246 */ )|({ 27{__cond_788} }&((__mant_740>>>17 /* 41 */ ))) /* 246 */ )|({ 27{__cond_789} }&((__mant_740>>>18 /* 41 */ ))) /* 246 */ )|({ 27{__cond_790} }&((__mant_740>>>19 /* 41 */ ))) /* 246 */ )|({ 27{__cond_791} }&((__mant_740>>>20 /* 41 */ ))) /* 246 */ )|({ 27{__cond_792} }&((__mant_740>>>21 /* 41 */ ))) /* 246 */ )|({ 27{__cond_793} }&((__mant_740>>>22 /* 41 */ ))) /* 246 */ )|({ 27{__cond_794} }&((__mant_740>>>23 /* 41 */ ))) /* 246 */ ):0 /* 46 */  /* 45 */ ;
assign __mant_sgn_742 /* 47 */ = (__sign_737 /* 48 */ )?(~__mant_sft_741 /* 48 */ ):__mant_sft_741 /* 49 */  /* 49 */ ;
assign ___s_reg_730[34:27] /* 51 */ = (__ctrl_valid_111 /* 52 */ )?(__expn_aln_744 /* 53 */ ):__s_reg_730[34:27] /* 55 */  /* 54 */ ;
assign ___s_reg_730[26:0] /* 57 */ = (__ctrl_valid_111 /* 58 */ )?(__mant_sgn_736+__mant_sgn_742+__sign_731+__sign_737 /* 59 */ ):__s_reg_730[26:0] /* 61 */  /* 60 */ ;
assign __expn_dif_795 /* 63 */ = __expn_d_739-__expn_d_733 /* 63 */ ;
assign __expn_aln_744 /* 64 */ = (__expn_dif_795[8] /* 65 */ )?(__expn_d_733 /* 66 */ ):__expn_d_739 /* 68 */  /* 67 */ ;
assign __expn_10r_796 /* 70 */ = __s_reg_730[34:27] /* 70 */ ;
assign __mant_10_797 /* 71 */ = __s_reg_730[26:0] /* 71 */ ;
assign __mant_10_abs_798 /* 73 */ = (__mant_10_797[26] /* 74 */ )?(~__mant_10_797 /* 74 */ ):__mant_10_797 /* 75 */  /* 75 */ ;
assign __mant_padded_799 /* 77 */ = { __mant_10_abs_798,23'b00000000000000000000000 } /* 77 */ ;
assign __all_zero_801 /* 82 */ = !__mant_10_abs_798 /* 82 */ ;
assign __lead_zeros_800 /* 84 */ = (__mant_10_abs_798[25] /* 215 */ )?((0 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[24] /* 215 */ )?((1 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[23] /* 215 */ )?((2 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[22] /* 215 */ )?((3 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[21] /* 215 */ )?((4 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[20] /* 215 */ )?((5 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[19] /* 215 */ )?((6 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[18] /* 215 */ )?((7 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[17] /* 215 */ )?((8 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[16] /* 215 */ )?((9 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[15] /* 215 */ )?((10 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[14] /* 215 */ )?((11 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[13] /* 215 */ )?((12 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[12] /* 215 */ )?((13 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[11] /* 215 */ )?((14 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[10] /* 215 */ )?((15 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[9] /* 215 */ )?((16 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[8] /* 215 */ )?((17 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[7] /* 215 */ )?((18 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[6] /* 215 */ )?((19 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[5] /* 215 */ )?((20 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[4] /* 215 */ )?((21 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[3] /* 215 */ )?((22 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[2] /* 215 */ )?((23 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[1] /* 215 */ )?((24 /* 87 */ ) /* 216 */ ):(__mant_10_abs_798[0] /* 215 */ )?((25 /* 87 */ ) /* 216 */ ):((0 /* 89 */ ) /* 213 */ ) /* 218 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */  /* 217 */ ;
assign __expn_sft_802 /* 93 */ = __expn_10r_796+2-__lead_zeros_800 /* 93 */ ;
assign __sum_sign_803 /* 94 */ = __mant_10_797[26] /* 94 */ ;
assign __sum_expn_804 /* 95 */ = (__all_zero_801||__expn_sft_802[9] /* 96 */ )?(0 /* 96 */ ):(__expn_sft_802[8] /* 97 */ )?({ 8{1'b1} } /* 97 */ ):__expn_sft_802[7:0] /* 98 */  /* 98 */ ;
assign __cond_806 /* 242 */ = 0==__lead_zeros_800 /* 242 */ ;
assign __cond_807 /* 242 */ = 1==__lead_zeros_800 /* 242 */ ;
assign __cond_808 /* 242 */ = 2==__lead_zeros_800 /* 242 */ ;
assign __cond_809 /* 242 */ = 3==__lead_zeros_800 /* 242 */ ;
assign __cond_810 /* 242 */ = 4==__lead_zeros_800 /* 242 */ ;
assign __cond_811 /* 242 */ = 5==__lead_zeros_800 /* 242 */ ;
assign __cond_812 /* 242 */ = 6==__lead_zeros_800 /* 242 */ ;
assign __cond_813 /* 242 */ = 7==__lead_zeros_800 /* 242 */ ;
assign __cond_814 /* 242 */ = 8==__lead_zeros_800 /* 242 */ ;
assign __cond_815 /* 242 */ = 9==__lead_zeros_800 /* 242 */ ;
assign __cond_816 /* 242 */ = 10==__lead_zeros_800 /* 242 */ ;
assign __cond_817 /* 242 */ = 11==__lead_zeros_800 /* 242 */ ;
assign __cond_818 /* 242 */ = 12==__lead_zeros_800 /* 242 */ ;
assign __cond_819 /* 242 */ = 13==__lead_zeros_800 /* 242 */ ;
assign __cond_820 /* 242 */ = 14==__lead_zeros_800 /* 242 */ ;
assign __cond_821 /* 242 */ = 15==__lead_zeros_800 /* 242 */ ;
assign __cond_822 /* 242 */ = 16==__lead_zeros_800 /* 242 */ ;
assign __cond_823 /* 242 */ = 17==__lead_zeros_800 /* 242 */ ;
assign __cond_824 /* 242 */ = 18==__lead_zeros_800 /* 242 */ ;
assign __cond_825 /* 242 */ = 19==__lead_zeros_800 /* 242 */ ;
assign __cond_826 /* 242 */ = 20==__lead_zeros_800 /* 242 */ ;
assign __cond_827 /* 242 */ = 21==__lead_zeros_800 /* 242 */ ;
assign __cond_828 /* 242 */ = 22==__lead_zeros_800 /* 242 */ ;
assign __cond_829 /* 242 */ = 23==__lead_zeros_800 /* 242 */ ;
assign __cond_830 /* 242 */ = 24==__lead_zeros_800 /* 242 */ ;
assign __cond_831 /* 242 */ = 25==__lead_zeros_800 /* 242 */ ;
assign __sum_mant_805 /* 100 */ = (__all_zero_801 /* 101 */ )?(0 /* 101 */ ):(((((((((((((((((((((((((({ 23{__cond_806} }&((__mant_padded_799[47:25] /* 105 */ ))) /* 244 */ )|({ 23{__cond_807} }&((__mant_padded_799[46:24] /* 105 */ ))) /* 246 */ )|({ 23{__cond_808} }&((__mant_padded_799[45:23] /* 105 */ ))) /* 246 */ )|({ 23{__cond_809} }&((__mant_padded_799[44:22] /* 105 */ ))) /* 246 */ )|({ 23{__cond_810} }&((__mant_padded_799[43:21] /* 105 */ ))) /* 246 */ )|({ 23{__cond_811} }&((__mant_padded_799[42:20] /* 105 */ ))) /* 246 */ )|({ 23{__cond_812} }&((__mant_padded_799[41:19] /* 105 */ ))) /* 246 */ )|({ 23{__cond_813} }&((__mant_padded_799[40:18] /* 105 */ ))) /* 246 */ )|({ 23{__cond_814} }&((__mant_padded_799[39:17] /* 105 */ ))) /* 246 */ )|({ 23{__cond_815} }&((__mant_padded_799[38:16] /* 105 */ ))) /* 246 */ )|({ 23{__cond_816} }&((__mant_padded_799[37:15] /* 105 */ ))) /* 246 */ )|({ 23{__cond_817} }&((__mant_padded_799[36:14] /* 105 */ ))) /* 246 */ )|({ 23{__cond_818} }&((__mant_padded_799[35:13] /* 105 */ ))) /* 246 */ )|({ 23{__cond_819} }&((__mant_padded_799[34:12] /* 105 */ ))) /* 246 */ )|({ 23{__cond_820} }&((__mant_padded_799[33:11] /* 105 */ ))) /* 246 */ )|({ 23{__cond_821} }&((__mant_padded_799[32:10] /* 105 */ ))) /* 246 */ )|({ 23{__cond_822} }&((__mant_padded_799[31:9] /* 105 */ ))) /* 246 */ )|({ 23{__cond_823} }&((__mant_padded_799[30:8] /* 105 */ ))) /* 246 */ )|({ 23{__cond_824} }&((__mant_padded_799[29:7] /* 105 */ ))) /* 246 */ )|({ 23{__cond_825} }&((__mant_padded_799[28:6] /* 105 */ ))) /* 246 */ )|({ 23{__cond_826} }&((__mant_padded_799[27:5] /* 105 */ ))) /* 246 */ )|({ 23{__cond_827} }&((__mant_padded_799[26:4] /* 105 */ ))) /* 246 */ )|({ 23{__cond_828} }&((__mant_padded_799[25:3] /* 105 */ ))) /* 246 */ )|({ 23{__cond_829} }&((__mant_padded_799[24:2] /* 105 */ ))) /* 246 */ )|({ 23{__cond_830} }&((__mant_padded_799[23:1] /* 105 */ ))) /* 246 */ )|({ 23{__cond_831} }&((__mant_padded_799[22:0] /* 105 */ ))) /* 246 */  /* 102 */ ;
assign __result_729[31] /* 108 */ = __sum_sign_803 /* 108 */ ;
assign __result_729[30:23] /* 109 */ = __sum_expn_804 /* 109 */ ;
assign __result_729[22:0] /* 110 */ = __sum_mant_805 /* 110 */ ;
assign __sum_imag_624 /* 172 */ = (__result_729 /* 111 */ ) /* 172 */ ;
assign ___complex_sum_625 /* 174 */ = (__ctrl_valid_115 /* 175 */ )?({ __sum_real_623,__sum_imag_624 } /* 176 */ ):__complex_sum_625 /* 178 */  /* 177 */ ;
assign __out_sub_152 /* 551 */ = (__complex_sum_625 /* 180 */ ) /* 551 */ ;
assign __wr_even_addr_67 /* 153 */ = __ctrl_even_addr_116 /* 153 */ ;
assign __wr_odd_addr_69 /* 154 */ = __ctrl_odd_addr_117 /* 154 */ ;
assign __wr_valid_64 /* 155 */ = __ctrl_valid_115 /* 155 */ ;
assign __wr_add_data_68 /* 156 */ = __out_add_151 /* 156 */ ;
assign ___wr_sub_data_70 /* 157 */ = __out_sub_152 /* 157 */ ;
assign __rd_even_addr_60 /* 160 */ = __t_54 /* 160 */ ;
assign __rd_odd_addr_62 /* 161 */ = __t_55 /* 161 */ ;
assign __rd_valid_57 /* 162 */ = __t_51 /* 162 */ ;
assign __t_52 /* 163 */ = __rd_ready_58 /* 163 */ ;
assign __t_53 /* 164 */ = __rd_grant_59 /* 164 */ ;
assign __t_54 /* 165 */ = __decode_even_addr_81 /* 165 */ ;
assign __t_55 /* 166 */ = __decode_odd_addr_82 /* 166 */ ;
assign __t_51 /* 167 */ = __decode_valid_80 /* 167 */ ;
assign sram__0__valid /* 170 */ = __sram_valid_123 /* 170 */ ;
assign sram__0__we_n /* 171 */ = __we_n_125 /* 171 */ ;
assign sram__0__addr /* 172 */ = __waddr_126 /* 172 */ ;
assign sram__0__wdata /* 173 */ = __wdata_127 /* 173 */ ;
assign __sram_ready_124 /* 174 */ = sram__0__ready /* 174 */ ;
assign __rdata_128 /* 175 */ = sram__0__rdata /* 175 */ ;
assign ___cell_idx_832 /* 194 */ = (__decode_valid_80 /* 215 */ )?((0 /* 187 */ ) /* 216 */ ):((1 /* 191 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__valid /* 195 */ = (__decode_valid_80 /* 215 */ )?((1'b1 /* 185 */ ) /* 216 */ ):((0 /* 189 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__addr /* 196 */ = (__decode_valid_80 /* 215 */ )?((__get_exp_valid_84 /* 186 */ ) /* 216 */ ):((0 /* 190 */ ) /* 213 */ ) /* 218 */  /* 217 */ ;
assign exp_sram__we_n /* 197 */ = 1 /* 197 */ ;
assign ___exp_sram_dly_833 /* 200 */ = exp_sram__ready /* 200 */ ;
assign ___r_56 /* 203 */ = (__exp_sram_dly_833&&__cell_idx_832==0 /* 204 */ )?(exp_sram__rdata /* 205 */ ):__r_56 /* 207 */  /* 206 */ ;
//register update logic
always_comb begin /* 138 */ 
  ___mult_result_176=__mult_result_176;
  if(__result_factor_173[47:46]==2'b01&&__ctrl_valid_99) begin  /* 139 */ 
  ___mult_result_176 /* 140 */ = { __result_sign_170,__result_exp_171[7:0],__valid_factor_norm_174 } /* 140 */ ;
  end
  else if(__result_factor_173[47]==1'b1&&__ctrl_valid_99) begin  /* 141 */ 
  ___mult_result_176 /* 142 */ = { __result_sign_170,__exp_add1_172[7:0],__valid_factor_shift_175 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_183=__mult_result_183;
  if(__result_factor_180[47:46]==2'b01&&__ctrl_valid_99) begin  /* 139 */ 
  ___mult_result_183 /* 140 */ = { __result_sign_177,__result_exp_178[7:0],__valid_factor_norm_181 } /* 140 */ ;
  end
  else if(__result_factor_180[47]==1'b1&&__ctrl_valid_99) begin  /* 141 */ 
  ___mult_result_183 /* 142 */ = { __result_sign_177,__exp_add1_179[7:0],__valid_factor_shift_182 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_190=__mult_result_190;
  if(__result_factor_187[47:46]==2'b01&&__ctrl_valid_99) begin  /* 139 */ 
  ___mult_result_190 /* 140 */ = { __result_sign_184,__result_exp_185[7:0],__valid_factor_norm_188 } /* 140 */ ;
  end
  else if(__result_factor_187[47]==1'b1&&__ctrl_valid_99) begin  /* 141 */ 
  ___mult_result_190 /* 142 */ = { __result_sign_184,__exp_add1_186[7:0],__valid_factor_shift_189 } /* 142 */ ;
  end
end

always_comb begin /* 138 */ 
  ___mult_result_197=__mult_result_197;
  if(__result_factor_194[47:46]==2'b01&&__ctrl_valid_99) begin  /* 139 */ 
  ___mult_result_197 /* 140 */ = { __result_sign_191,__result_exp_192[7:0],__valid_factor_norm_195 } /* 140 */ ;
  end
  else if(__result_factor_194[47]==1'b1&&__ctrl_valid_99) begin  /* 141 */ 
  ___mult_result_197 /* 142 */ = { __result_sign_191,__exp_add1_193[7:0],__valid_factor_shift_196 } /* 142 */ ;
  end
end

//cell instance
endmodule
